I have a project that can potentially use a SQL server as a host for it's data.
When a user starts the application for the first time, a wizard walks them through selecting how to store their data.
If a user selects the SQL option and indicates that the database they want to use doesn't exist and that the software needs to create it, what's the better choice:
1) Have the wizard connect to the SQL server, and if it can connect, check to make sure the user name they provided has all the permissions necessary to store the data on the server (such as create databases, use the select, insert, update, delete statements, etc...) and if they do, continue with the configuration wizard...
- or -
2) Assume that the user knows they have permissions, don't check on the permissions and just attempt to create the database and use the statements necessary. If at run time the queries fail, throw an exception and let the user know what the problem is?
Maybe both?