Difference between revisions of "Unable to connect to the database"

From Dragon Age Toolset Wiki
Jump to: navigation, search
m (formatting)
m (another log file)
Line 8: Line 8:
 
When it comes to the cannot connect error, it can range from the long file path issue to interference from UAC, to permissions issues, to a conflict with an existing installation of SQL Server, to registry entries, to the location of the installation file on your computer. The list is long. Here is a troubleshooting guide to try and help you diagnose what particular problem is vexing you and how to repair it.  If the troubleshooting is getting you nowhere, the [[#Full Manual Install|full manual install]] is another method that may be more effective, as you take things into your own hands and have better visibility to errors.
 
When it comes to the cannot connect error, it can range from the long file path issue to interference from UAC, to permissions issues, to a conflict with an existing installation of SQL Server, to registry entries, to the location of the installation file on your computer. The list is long. Here is a troubleshooting guide to try and help you diagnose what particular problem is vexing you and how to repair it.  If the troubleshooting is getting you nowhere, the [[#Full Manual Install|full manual install]] is another method that may be more effective, as you take things into your own hands and have better visibility to errors.
 
   
 
   
As a potential source of more information to diagnose the problem with, you could always look for connection errors in {{dashedborder|C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log\ERRORLOG}}. You may have to use an administrator account to read this file. As an example ERRORLOG entry:
+
As a potential source of more information to diagnose the problem with, you could always look for connection errors in both {{dashedborder|C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log\ERRORLOG
 +
and
 +
C:\Program Files\Dragon Age\tools\toolssql\MSSQL.1\MSSQL\LOG\ERRORLOG}}. You may have to use an administrator account to read this file. As an example ERRORLOG entry:
 
<pre>
 
<pre>
 
2011-01-02 11:32:15.08 Logon      Error: 18456, Severity: 14, State: 38.
 
2011-01-02 11:32:15.08 Logon      Error: 18456, Severity: 14, State: 38.

Revision as of 20:57, 2 January 2011

Unable to connect to database.png

When the toolset throws this error, it indicates that there was some kind of problem when attempting to connect to the SQL Server Express 2005 database. Unfortunately, this is common, but unpredictable. When the toolset starts up, it attempts to connect to the database. If the database does not respond, it simply returns this error. The toolset has no ability to diagnose why

This error is kind of like the "Service Engine" light on your vehicle. When the service engine light starts flashing, it means something is wrong, but it is a very general warning that does not give you much information on what is wrong, just that something is wrong. The cause of it could be anything from a loose gas cap to a failed spark plug to some bad sensor.


Diagnosing the Problem

When it comes to the cannot connect error, it can range from the long file path issue to interference from UAC, to permissions issues, to a conflict with an existing installation of SQL Server, to registry entries, to the location of the installation file on your computer. The list is long. Here is a troubleshooting guide to try and help you diagnose what particular problem is vexing you and how to repair it. If the troubleshooting is getting you nowhere, the full manual install is another method that may be more effective, as you take things into your own hands and have better visibility to errors.

As a potential source of more information to diagnose the problem with, you could always look for connection errors in both
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log\ERRORLOG

and

C:\Program Files\Dragon Age\tools\toolssql\MSSQL.1\MSSQL\LOG\ERRORLOG
. You may have to use an administrator account to read this file. As an example ERRORLOG entry:
2011-01-02 11:32:15.08 Logon       Error: 18456, Severity: 14, State: 38.
2011-01-02 11:32:15.08 Logon       Login failed for user 'EXAMPLE\Example'. Reason: Failed to open the explicitly specified database. [CLIENT: <named pipe>]

Please note that Windows 7 automatically locks the files found in c:/ and will have a lock icon on the folder. You will have to right click on the folder, choose share with and click on homegroup(read/write). You also may have to exit and open c:/ again to make sure that it took affect. This would allow the installer to access the games file to properly install MSSQL Server Express.


Did the database get restored / created? No
Did MSSQL Express install? No
Possible solutions:
  1. Permissions issues: run installer as administrator
  2. Path length
  3. Compressed drive
Yes
Yes
Is the database service running? Restore database and re-run toolset
Yes
No
Is the Toolset correctly pointing to database? Start service and re-run toolset


Is the Database Service Running

If the service is running, it is an indication that SQL Server has installed correctly and the database is available for use by the toolset.

You can check to see if the Database Service is running by navigating to your the Services application. Depending on your operating system, the path may be a bit different, but it should be along the lines of Start>>Control Panel>>Administrative Tools>>Services(alternately type "services.msc" (excluding quotes) into a run window)

Scroll down through the list and look for a service named "SQL Server (BWDATOOLSET)". Check the Status of the service. If the status is anything other than "Running" (or, possibly, "Started" in the case of Windows XP users), right click on it and select "Start". If it then starts successfully the status will change to "Running"

If the Service refuses to Start or does not exist, more troubleshooting is needed some kind of installation issue with SQL Server. We need to look at the properties on the service and figure out where to go from here. One thing I have seen is that it is left over from some manual file deletions, the .mdf and .ldf files no longer exist, but the service is still there. Path to executable field may hold some clues. here.

  • Ensure SQL Server (BWDATOOLSET): Open the SQL Server Configuration Manager (by default Start | Microsoft SQL Server 2005 | Configuration Tools | SQL Server Configuration Manager) and in the object tree in the left hand panel click on the SQL Server 2005 Services entry. Ensure entry for SQL Server (BWDATOOLSET) appearing in the right hand panel has a State of Running. If not select it and start it (either using the button on the toolbar or the option in the context menu).

↑ Return to top

Did SQL Server Install?

Check your Start menu and see if it installed at all. Go to Start>>Program Files>>Microsoft SQL Server 2005. If nothing exists here then there are two basic explanations:

  1. When you ran the installer, you may have unchecked the option to Install MSSQL Express 2005 SP3. If this is the case. Try running the toolset installer a second time, make sure that you leave that option checked so that the installer will attempt to install SQL Server 2005.
  2. Something went wrong with the SQL Server installation and it failed to install at all. You can try installing the toolset again. If this is unsuccessful, you can try downloading and installing it manually.

↑ Return to top

Did the database get restored?

Check the toolset installation directory for the restored database files. Depending on where you installed the Game and Toolset, they will be in a location similar to

C:\Program Files\Dragon Age\tools\toolssql\Data\ <--- version 1.00 installed under the Tools folder

or

C:\Program Files\DAODB\ <--- version 1.01 of the toolset goes here, avoiding long path issue

Browse to this location and look for the existence of the following two files:

bw_dragonage_content.ldf

and

bw_dragonage_content.mdf

If these files exist, it indicates that the SQL Server was installed, and that the actual Dragon Age toolset database was restored. If they are not present, the restore function failed for some reason. If the files exist, continue on to the next step of the troubleshooter.

If the files do not exist, you can attempt to restore them in a number of ways:

1. Download and use SQL Management Studio to create the database and restore the content database. This is covered in the manual database installation article. Since the SQL Server is installed, you should be able to skip the first step, and start from the heading "Installing SQL Server Management Studio Express"
2. Running the restore operation through a "batch" file manually. See Restoring the Database if it failed after Installation. Also added a section about Error Handling, because the batch file presents error numbers.

↑ Return to top

Is the Toolset correctly pointing to database?

Run Configure Toolset to send the toolset in the right direction and test the database connection.

Notes:

  • It has been observed that for some builds that the Toolset is not looking at the correct registry keys perhaps due to permission restrictions.
    1. First use the ConfigureToolset to set the correct string.
      If you don't use the default settings you can copy the string from from the ConfigureToolset tool otherwise use one of the following command line queries to get the connection string.
      Win32: reg query "HKLM\SOFTWARE\BioWare\Dragon Age\Toolset\Environment" /v DefaultDatabaseConnection
      Win64: reg query "HKLM\SOFTWARE\Wow6432Node\BioWare\Dragon Age\Toolset\Environment" /v DefaultDatabaseConnection
    2. Now run the following command line (substituting your connection string for the final value)
      reg add "HKCU\Software\BioWare\Dragon Age\Toolset\Environment" /v DefaultDatabaseConnection /t REG_SZ /d "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=bw_dragonage_content;Data Source=.\BWDATOOLSET"
Double check your entry, a single incorrect character will cause the same "Unable to Connect" error.

↑ Return to top

Full Manual Install

Manual database installation works almost every time. If it does not, it should at least give you clues as to why it is failing, which you do not generally get when using the toolset installer. If this "cannot connect to the database" error is frustrating you and you want to just make it work, and don't want to keep troubleshooting, this is probably your best bet:

  1. Install the toolset without any of the database options checked.
    Toolset setup screen.png
    Uncheck the following both of the database settings options as shown here. This will just install the toolset files and do nothing at all with the database itself. Of course, since SQL Server is not installed, you would still get the "Unable to to connect to the database" error at this point.
  2. Manually install SQL Server and restore the database
    It is not as hard as it may sound, and is documented here. Basically, when you do this, you are taking control of the two steps that you told the installer not to do, and doing them on your own. This is effective as this way you can babysit the installation process. Running the SQL installer this way will throw more explicit errors at you when it is having problems, making it easier to diagnose the problems and find solutions.


Why does this work?

The toolset needs a database engine to run. The installer has a copy of SQL Server 2005 embedded in it. The idea behind this is that we could hide all the SQL Server installation, setup and administration voodoo, and do it all in the background so that you wouldn't have to figure out how to do it on your own. When it works - it is great, when it doesn't - you land on this page...

When the toolset has finished doing its business (essentially unpacking some files and setting up some permissions and registry entries) it then runs the SQL Server 2005 installer in "silent" mode, where it just tries to install with its default settings. The toolset installer is "blind" to what goes on during the SQL install, it just gets a message when the SQL installer says "I'm done", regardless of what kind of "done" that is. It could be "I just failed horribly, but I'm done failing now" or it could be "Whew, everything went as planned, I'm done". Once the toolset installer gets that message, it says "SQL is done, so I can now restore the database". It then runs a command line to restore the database. Again this process does not give proper feedback either, it just spits back another "I'm done" message, at which the toolset installer comes back and tells you it is finished. Anything that goes wrong in this process will cause the dreaded error when you start the toolset. Unfortunately there is no easy way for the installer to catch these problems and alert you. Taking this process out of the installer's hands and running it manually allows you to see what is going wrong and react to it. A quick internet search for any error that you get will often help you figure out what SQL Server is choking on in your particular case.

↑ Return to top

Additional ideas

MSSQL Server cannot install to compressed or encrypted folders

SQL Server Setup cannot install files.

Product: Microsoft SQL Server 2005 -- Error 28062. SQL Server Setup cannot install files to the compressed or encrypted folder: X:\. To continue, make sure that your installation directories are not compressed or encrypted, or specify a different directory, and then run SQL Server Setup again.

Cause. SQL Server 2005 program files and data files cannot be installed on a file system that uses compression.

Solution. You need to uncompressed the drives or folders where the SQL Server 2005 program files and data files will be placed. Please follow the steps below:

  1. From your Windows Explorer, navigate to the path where the SQL Server program files and data files will be placed
  2. Make a right click on the drive or folder and select Properties
  3. If you are seeing the properties of a folder click the Advanced button
  4. Click to clear the "Compress drive to save disk space" or "Compress contents to save disk space" check box
  5. Return to setup and continue installation.

↑ Return to top

Permissions issues

  • Sometimes disabling UAC (User Account Control) and reinstalling the toolset will allow the database to install properly.
  • SQL Server needs permission to read from the directory that the you have put the installation files, if it does not have permissions, it may be unable to import resources into the database. To correct this change the administrative privileges for the directory you're installing the toolset from.
  • On Vista systems the toolset may need administrator privileges to read the database where it's installed but fail to prompt you for them. Try right-clicking the toolset's shortcut and selecting "Run as Administrator" from the dropdown menu.
  • On Windows XP systems, you may need to run the toolset as the Administrator by right-clicking on the toolset's shortcut, selecting the "Run as..." menu item, and then select "The following user" radio button where you can enter the password for the Administrator account.

↑ Return to top

Other Miscellaneous Solutions

  • You can use SQL Server Express 2008 instead of 2005. It is better suited to some of the permissions issues that occur in Vista and Windows 7. Many users have installed SQL Server Express 2008 and are using it instead of 2005. You could download it and follow the instructions here substituting 2008 for 2005.
  • You can try setting up your database separately from the toolset installer. See Manual database installation for the steps needed to install MSSQL Express 2005 and configure it for use with the toolset manually. Users have been successful by setting up the toolset this way.
  • One User has reported that this sequence of events works:
  • Uninstall SQL server and the Toolset from PC.
  • Delete C:\Program Files\Microsoft SQL Server
  • In Regedit, delete the following:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSSQLServer
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server
  • Reboot
  • Install Toolset with the SQL.
  • If you already have MSSQLServer Express installed as part of a different program, the toolset may not get the correct configuration to use it. Run the toolset configuration program (configuretoolset.exe, in the same directory as the toolset itself) and then click "next" through the configuration wizard until you get to the "Content Database" field. It should read: "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=bw_dragonage_content;Data Source=.\BWDATOOLSET"
  • Some users report that the installer fails to create the SQL database (e.g. your Dragon Age\toolssql\data folder is empty). You can enter the following command to try restoring the database manually (Change the paths to bw_dragonage_content.bak and your Dragon Age folder as appropriate): "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\"sqlcmd -S .\BWDATOOLSET -E -Q "RESTORE DATABASE bw_dragonage_content FROM DISK = 'C:\Program Files\Dragon Age\tools\dbbak\bw_dragonage_content.bak' WITH MOVE 'bw_dragonage_content' TO 'C:\Program Files\Dragon Age\tools\toolssql\Data\bw_dragonage_content.mdf', MOVE 'bw_dragonage_content_Log' TO 'C:\Program Files\Dragon Age\tools\toolssql\Data\bw_dragonage_content.ldf'"

You need to allow Users to Modify the DATA folder, before you can execute this command.

  • Some users have been successful simply installing from a more direct path (eg place the installer in C:\DAInstall and then run the exe file from that location rather than from My Documents or a similar long path).

↑ Return to top