When you use ActiveX Data Objects (ADO) to connect to a SQL Server 7.0 or SQL Server 2000 server that is behind a firewall, consider the following:
- The firewall must be configured to permit port 1433 incoming (or the port numbers that SQL Server listens to on TCP/IP), and ports 1024 to 65535 outgoing.
- The connection string must specify the SQL Server address: the IP address, the server DNS name, or a name inside the hosts file.
- The connection string should specify the Network Library type, in this case "dbmssocn" (without the quotes) for TCP/IP Sockets Net-Library.
: Opening up the ports on the firewall may pose security issues; consult with your System Administrator or Security Administrator to configure the firewall.
In the following sample code, servername
should be the server DNS name, IP address, or a name inside the hosts file:
Set Conn = CreateObject("ADODB.Connection")
Set Rs = CreateObject("ADODB.Recordset")
Set Cmd = Createobject("ADODB.Command")
Conn.Open "Provider=SQLOLEDB;Password=password;Persist Security Info=True;User ID=username;Initial Catalog=DBNAME;Data Source=servername;Network Library=dbmssocn"
SQL = "Select * from TABLE"
Cmd.CommandText = SQL
Set Rs = Cmd.Execute
For additional information, click the article number below
to view the article in the Microsoft Knowledge Base:
How To Set the SQL Server Network Library in an ADO Connection String