PRB: ODBC Connection Failed: SQLState: '08001' DBMSSOCN

Article translations Article translations
Article ID: 195566 - View products that this article applies to.
This article was previously published under Q195566
Expand all | Collapse all

On This Page

SYMPTOMS

The following error message is returned from the ODBC Data Source Administrator and/or an ODBC application while attempting to make a connection to SQL Server:
Connection failed:
SQLState: '08001'
SQL Server Error: 11
[Microsoft][ODBC SQL Server Driver][DBMSSOCN] General Network error. Check your documentation.
Connection failed:
SQLState: '01000'
SQL Server Error: 10061
[Microsoft][ODBC SQL Server Driver][DBMSSOCN]ConnectionOpen(connect())
Connection failed:
SQLState: 08001
SQL Server Error: 11
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]General network error. Check your network documentation.
Connection failed:
SQLState: 01000
SQL Server Error: 10061
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]ConnectionOpen (connect())

CAUSE

The most common reason that this connection attempt failed is that this DSN or ODBC data source attempted to make a connection using the TCP/IP sockets Net-Library, which is Dbmssocn.dll. Because the SQL Server is not listening for incoming connections for TCP/IP sockets clients, the connection fails. From ISQL/w, the second error message stated above would be returned. The OS Error is 10061, and the function call that failed was ConnectionOpen(connect()).

WORKAROUND

By default, SQL Server will listen for incoming connections made by Named Pipes clients. Named Pipes is the default IPC mechanism for clients to connect to a SQL Server version 4.2, 6.0, and 6.5 server. The Named Pipes DLL is Dbnmpntw.dll, and it should be located in the Windows\System or Winnt\System32 directory. The TCP/IP sockets netlib DLL is Dbmssocn.dll, and also should be in the Windows\System or Winnt\System32 directory.The most common resolution to this problem is to configure the client computer to connect using Named Pipes.

Configuring Named Pipes

If the Microsoft Data Access Components (MDAC) ODBC drivers have been installed on the computer, you can make this change in the second step of the Create New Data Source wizard.

NOTE: You can download MDAC drivers from:

http://msdn2.microsoft.com/en-us/data/aa937730.aspx
To configure the client, start the Create New Data Source wizard, click the Client Configuration button, and perform the following steps, based on the version of the SQL Server ODBC driver you are using:

For SQL Server ODBC Driver version 3.50
  1. Click the Net Library tab and use the drop down list box to set the default network (Net Library) to Named Pipes.
  2. On the Advanced tab, remove any advanced entries that reference the server you are connecting to.
  3. Click Done.
For SQL Server ODBC Driver version 3.70
  1. In the Network Libraries section of the Edit Network Library Configuration dialog box, select Named Pipes.
  2. Click OK.
If you do not have the MDAC ODBC drivers installed, you can use the SQL Server Client Configuration Utility tool to set the default Net-Library to Named Pipes. You can install the client utilities from the SQL Server CD from the i386 directory.

Configuring TCP/IP Sockets

Server configuration:

In order for a client to connect to the SQL Server over TCP/IP sockets, the server needs to be listening on the server side sockets library. To add TCP/IP sockets support run SQL Setup.
  1. Press Continue.
  2. Press Continue again.
  3. Select Change Network Support
  4. Select TCP/IP Sockets
  5. Press Continue to accept the default Pipe Name and TCP/IP socket port 1433.
  6. Stop and restart the MSSQLServer service.
In order for you to confirm that your SQL Server is listening for incoming sockets connections, the following line should be in the current SQL Server error log found in \mssql\log.
   ods      Using 'SSMSSO60.DLL' version '6.5.0.0' to listen on '1433'.
				

Client configuration:

To configure the client, start the Create New Data Source wizard, click Client Configuration, and perform the following steps, based on the version of the SQL Server ODBC driver you are using:

For SQL Server ODBC Driver version 3.50:
  1. Click the Net Library tab and use the drop down list box to set the default network (Net Library) to TCP/IP Sockets.
OR
  1. Leave the default Net Library set to Named Pipes and on the Advanced tab, add a new entry where:
       Server := SQL Server Name
       Network:= TCP/IP Sockets
       Connection String: = IP Address,1433  
       (There are no spaces between the IP Address, the comma, and the port 1433)
    						
  2. Click Add/Modify.
  3. Click Done.
For SQL Server ODBC Driver version 3.70:
  1. In the Network Libraries section of the Edit Network Library Configuration dialog box, select TCP/IP.
  2. Enter the name of the SQL Server into the Server alias textbox
  3. Change the Computer name to the actual IP address of the SQL Server.
  4. Type 1433 in the port number textbox
  5. Click OK.

Properties

Article ID: 195566 - Last Review: April 25, 2007 - Revision: 5.1
APPLIES TO
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 6.5 Enterprise Edition
Keywords: 
kbprb KB195566
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com