SWCS 4.x can't access a SQL Server 2005 database

SWCS 4.x can't access a SQL Server 2005 database

Symptoms

When you attempt to open a company file located on a server using SQL Server 2005 you receive the following error message:

The company '...' is not a valid company or you don't have permission to access it.

Check with your system administrator.

Cause

There are a number of potential causes for this problem. The most common are that the server is blocking access or that the workstation does not have read/write access to the folder on the server where the company database is installed.

Another less likely cause is that the 'sa' user, or the user specified in the .psd file, is disabled.

Resolution

Before you start

A number of the resolutions below involve making changes to firewalls. Before you start you should determine what firewall software you are using. The instructions for making changes to a firewall included in this article apply to the Windows Firewall. If you are using a third-party firewall application you will have to consult their documentation.

Resolution 1

Verify that the server is not blocking access to ports 1433 TCP and 1434 UDP.

Note: The steps to open these ports will be different, depending on the firewall being used; consult your firewall documentation for instructions. These ports need to be opened on the 'server' (wherever the database resides) and the workstations.

To configure Windows Firewall on Windows XP to allow SQL Server Communication:

  1. Click Start, Control Panel.
  2. Double-click on the Windows Firewall icon.
  3. Click the Exceptions tab.
  4. Click Add Port.
  5. In the Name field type "SQL Server TCP".
  6. In the Port number field type "1433".
  7. Select TCP.
  8. Click OK.
  9. Click Add Port again.
  10. In the Name field type "SQL Server UDP".
  11. In the Port number field type "1434".
  12. Select UDP.
  13. Click OK.
  14. Click OK again to close the firewall configuration dialog box.

To configure Windows Firewall on Windows Vista to allow SQL Server Communication:

  1. Click Start, Control Panel.
  2. Double-click on the Windows Firewall icon.
  3. Click Change settings. Note: This requires Administrative permission.
  4. Click the Exceptions tab.
  5. Click Add Port.
  6. In the Name field type "SQL Server TCP".
  7. In the Port number field type "1433".
  8. Select TCP.
  9. Click OK.
  10. Click Add Port again.
  11. In the Name field type "SQL Server UDP".
  12. In the Port number field type "1434".
  13. Select UDP.
  14. Click OK.
  15. Click OK again to close the Windows Firewall Settings dialog box.
  16. Close the Windows Firewall window.

To configure Windows Firewall on Windows 7 to allow SQL Server Communication:

  1. Click Start, Control Panel.
  2. Click Windows Firewall.
  3. From the commands on the left, click Advanced Settings.
  4. From the list on the left, click Inbound Rules.
  5. From the list of commands on the right, click New Rule...
  6. Select Program and click Next.
  7. Click Browse.
  8. Select the following file: C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe.
  9. Click Open and then click Next.
  10. Select Allow the connection and click Next.
  11. Check Domain, Private, Public and click Next.
  12. Enter the Name "SQL Server Browser" and click Finish.
  13. Click New Rule.
  14. Select Port and click Next.
  15. Select TCP and Specific local ports. Enter the port 1433 and click Next.
  16. Select Allow the connection and click Next.
  17. Check Domain, Private, Public and click Next.
  18. Enter the Name "SQL Server TCP" and click Finish.
  19. Click New Rule.
  20. Select Port and click Next.
  21. Select UDP and Specific local ports. Enter the port 1433 and click Next.
  22. Select Allow the connection and click Next.
  23. Check Domain, Private, Public and click Next.
  24. Enter the Name "SQL Server UDP" and click Finish.
  25. From the list on the left, click Outbound Rules.
  26. Repeat steps 5 - 24.
  27. Close Windows Firewall with Advanced Security.
  28. Close Control Panel.

Resolution 2

If you are using a firewall, make sure the SQL Server Browser has been added to the exception list.

Note: The steps to add this application as an exception will be different, depending on the firewall being used; consult your firewall documentation for instructions. This needs to be done on the 'server' (wherever the database resides) and the workstation(s).

To configure Windows Firewall on Windows XP to allow SQL Server Communication:

  1. Click Start, All Programs, Control Panel.
  2. Double-click on the Windows Firewall icon.
  3. Click Change settings. Note: This requires Administrative permission.
  4. Click the Exceptions tab.
  5. Click Add Program.
  6. When the Add a Program dialog box appears, click Browse.
  7. Navigate to the folder "C:\Program Files\Solatech\MSSQL$SOLATECHDB\Binn\". If this folder does not exist then navigate to the folder "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\".
  8. Select the file "sqlservr.exe" and click Open.
  9. Click OK to close the Add a Program dialog box. The file you selected will be added to the exception list.
  10. Click OK again to close the firewall configuration dialog box.

To configure Windows Firewall on Windows Vista to allow SQL Server Communication:

  1. Click Start, All Programs, Control Panel.
  2. Double-click on the Windows Firewall icon.
  3. Click the Exceptions tab.
  4. Click Add Program.
  5. When the Add a Program dialog box appears, click Browse.
  6. Navigate to the folder "C:\Program Files\Solatech\MSSQL$SOLATECHDB\Binn\". If this folder does not exist then navigate to the folder "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\".
  7. Select the file "sqlservr.exe" and click Open.
  8. Click OK to close the Add a Program dialog box. The file you selected will be added to the exception list.
  9. Click OK again to close the Windows Firewall Settings dialog box.
  10. Close the Windows Firewall window.

To configure Windows Firewall on Windows 7 to allow SQL Server Communication:

Follow the steps in Resolution 1 for Windows 7 firewall.

Resolution 3

Check that you have read/write access to the folder where the database is stored; To do this use Windows Explorer.

  1. Run the window covering software.
  2. From the File menu, click File Manager.
  3. Select the File Type of Companies.
  4. On the toolbar, click the Open Folder button (the one on the far right). This will open a Windows Explorer window for the folder where the company files are located.
  5. If this window does not appear or you get an error message you most likely do not have read access to this folder. Check with your systems administrator to make sure you have the correct user-level security settings.
  6. If the window does open you can now check for write access. From the File menu click New and then click Text Document. If you get an error message then you most likely do not have write access to this folder. Check with your systems administrator to make sure you have the correct user-level security settings.
  7. If you are able to create a blank text document then you have read/write access to this folder. Delete the new text document that was created and close the Windows Explorer window.
  8. Close File Manager.

Resolution 4

Make sure that the instance of SQL Server and the SQL Server Browser are running.

To verify and/or start the required services:

  1. Click Start, All Programs, Microsoft SQL Server 2005, Configuration Tools, SQL Server Surface Are Configuration.
  2. At the bottom of the screen, click Surface Area Configuration for Services and Connections.
  3. From the list on the left, expand the instance of SQL Server that you are trying to connect to. For normal SWCS installations this will be 'SOLATECHDB'.
  4. Expand Database Engine.
  5. Click Service.
  6. Change the Startup type to 'Automatic'.
  7. Check the service status. If it is not 'Running' then click the Start button.
  8. From the list on the left, expand SQL Server Browser.
  9. Click Service.
  10. Change the Startup type to 'Automatic'.
  11. Check the service status. If it is not 'Running' then click the Start button.
  12. Click OK.
  13. Close SQL Server 2005 Surface Area Configuration.

Resolution 5

Make sure that remote connections are allowed on the SQL Server. If you installed SQL Server 2005 manually then remote connections are not enabled by default.

To enable remote connections on SQL Server 2005:

  1. Click Start, All Programs, Microsoft SQL Server 2005, Configuration Tools, SQL Server Surface Are Configuration.
  2. At the bottom of the screen, click Surface Area Configuration for Services and Connections.
  3. From the list on the left, expand the instance of SQL Server that you are trying to connect to. For normal SWCS installations this will be 'SOLATECHDB'.
  4. Expand Database Engine.
  5. Click Remote Connections.
  6. Select Local and remote connections.
  7. Select Using both TCP/IP and named pipes.
  8. Click OK.
  9. Close SQL Server 2005 Surface Area Configuration.

Resolution 6

Verify that Windows Firewall has File and Printer Sharing added and enabled as an exception.

To configure Windows Firewall on Windows XP to allow SQL Server Communication:

  1. Click Start, Control Panel.
  2. Double-click on the Windows Firewall icon.
  3. Click the Exceptions tab.
  4. Locate the item 'Fire and Printer Sharing'. If it is not checked, check it to enable it.
  5. Click OK to close the firewall configuration dialog box.

To configure Windows Firewall on Windows Vista to allow SQL Server Communication:

  1. Click Start, Control Panel.
  2. Double-click on the Windows Firewall icon.
  3. Click Change settings. Note: This requires Administrative permission.
  4. Click the Exceptions tab.
  5. Locate the item 'Fire and Printer Sharing'. If it is not checked, check it to enable it.
  6. Click OK to close the Windows Firewall Settings dialog box.
  7. Close the Windows Firewall window.

Resolution 7

Check to make sure the computer was not renamed after SWCS was installed. If it was then you will not be able to access the company until a configuration file is changed.

To determine if the computer was renamed

  1. Open the .psd file, located in the \Companies folder, with notepad.exe.
  2. Look for the section of the file that starts with <Host> and ends with </Host>, for example <Host>MY-TABLET\SOLATECHDB</Host>.
  3. Write down the portion of the name that comes before the \SOLATECHDB. This will be the name of the computer when the software was installed. If there is no \SOLATECHDB then write down everything that comes between the <Host> anb </Host>.
  4. Close Notepad.
  5. Click the Start button.
  6. Right-click on the My Computer.
  7. From the menu click Properties.
  8. Click on the Computer Name tab.
  9. The new name of the computer will be listed next to "Full computer name". If this is different from the name you wrote down in step 3 then the computer has been renamed and the configuration needs to be changed. To make the changes, follow the steps listed in article: I recently renamed my computer and now I can't open my SWCS company

Resolution 8

Check that the SQL Server user account specified in the .psd file is enabled. To do this you must use the Microsoft SQL Server Management Studio. Consult your Microsoft SQL Server 2005 documentation for help with using the Microsoft SQL Server Management Studio. This utility is not installed by default when you install your Solatech software.

To determine the user name being used by your window covering software

  1. Open the .psd file, located in the \Companies folder, with notepad.exe.
  2. Look for the section of the file that starts with <Auth> and ends with </Auth>, for example <Auth>1</Auth>. If you see a value of 0 then the window covering software is using Windows Authentication and is not using any user name specified in the .psd file.
  3. If the <Auth> value is 1 then look for the words <User> Immediately after </Auth>. The name of the user will be between <User> and </User>.

Resolution 9

If you are using a third-party firewall application like Norton Internet Security or ZoneAlarm, make sure that you don't also have Windows Firewall enabled. There is no need to use both and it just makes diagnosing problems more complicated. If you are using a third-party firewall application, disable the built-in Windows Firewall.

If you are not using a third-party software firewall then your network may be setup with a hardware firewall, possibly built in to your router. To check this you will need to access the hardware firewall and check/change it's configuration. Your system administrator will have to do this.

More Information

Note: If you are using Windows XP Home Edition and your SQL Server is on a domain server you will not be able to connect. Using XP Home Edition on a domain is not supported.

References:

For more information, refer to the following knowledge base articles:

  • I recently renamed my computer and now I can't open my SWCS company
  • You are unable to connect to a SQL Server 2005 database

Applies To:

  • Solatech Window Covering Software 4.0
  • Solatech Window Covering Software 4.1
  • Solatech Window Covering Software 4.2

    • Related Articles

    • How to access the SWCS 4.2 company database using SQL Server Management Studio

      This document assumes you are familiar with SQL Server and it's tools and have SQL Server Management Studio installed on your computer. In order to access the SWCS 4.2 company database you'll need to gather some information from SWCS such as  the ...
    • Cannot connect to Solatech database server

      Summary The instance of SQL Server for Solatech was found on this computer however a connection to the server could not be made. This problem can also occur if testing multiple connections to the company database fails. More Information This could ...
    • Error while checking write access to a SWCS company

      Summary While checking write level access to the last used SWCS company database the test failed. More Information This could happen if: You have the incorrect SQL Server drives installed. You don't have access to the company database. Your network ...
    • Error while checking read access to a SWCS company

      Summary While checking read level access to the last used SWCS company database the test failed. More Information This could happen if: You have the incorrect SQL Server drives installed. You don't have access to the company database. Your network ...
    • Performing advanced database tasks with SWCS 4.2

      Summary This article explains how a user can perform advanced database management tasks on a SWCS 4.2 company database. More Information The Solatech Window Covering Software version 4.2 uses Microsoft SQL Server 2005 as it's database engine. During ...