This page contains sample ADO connection strings for ODBC DSN / DSN-Less,
OLE DB Providers, Remote Data Services (RDS), MS Remote, MS DataShape.

Also included are ADO.NET connection strings for each .NET Managed Provider
(SQLClient, OLEDB, and ODBC).

These sample connection strings are compiled
by Carl Prothman, a Microsoft Visual Basic MVP
Enjoy!
กก
Table of Contents
ODBC DSN Connections DSN
File DSN

ODBC DSN-Less Connectionsกก ODBC Driver for AS/400
ODBC Driver for Access
ODBC Driver for dBASE
ODBC Driver for Excel
ODBC Driver for MySQL
ODBC Driver for Oracle
ODBC Driver for Paradox
ODBC Driver for SQL Server
ODBC Driver for Sybase
ODBC Driver for Sybase SQL Anywhere
ODBC Driver for Text
ODBC Driver for Teradata
ODBC Driver for Visual FoxPro

OLE DB Data Link Connections Data Link File (UDL)

OLE DB Data Provider Connectionsกก OLE DB Provider for AS/400
OLE DB Provider for Active Directory Service
OLE DB Provider for DB2
OLD DB Provider for Internet Publishing
OLE DB Provider for Index Server
OLE DB Provider for Microsoft Jet
OLE DB Provider for ODBC Databases
OLE DB Provider for Oracle (From Microsoft)
OLE DB Provider for Oracle (From Oracle)
OLE DB Provider for Simple Provider
OLE DB Provider for SQL Server

Remote Data Service (RDS) Connections RDS Data Control - Connect Property
RDS Data Control - URL Property

ADO URL Connections ADO Recordset

MS Remote Provider Connections MS Remote - Access (Jet)
MS Remote - SQL Server

Data Shape Provider Connectionsกก MS DataShape - SQL Server

.NET Managed Provider Connections SQL Client .NET Managed Provider (System.Data.SqlClient)
OLE DB .NET Managed Provider (System.Data.OleDb)
ODBC .NET Managed Provider (System.Data.ODBC)

ODBC DSN Connections
Using an ODBC DSN (Data Source Name) is a two step process.

1) You must first create the DSN via the "ODBC Data Source Administrator" program
found in your computer's Control Panel (or Administrative Tools menu in Windows 2000).
Make sure to create a SYSTEM DSN (not a USER DSN) when using ASP.
Note: You can also create the DSN via VB code.

2) Then use the following connection string - with your own DSN name of course.กก ;-)

ODBC - DSN
กก
oConn.Open "DSN=AdvWorks;" & _
กกกกกกกกกกกกกกกกกก "Uid=Admin;" & _
กกกกกกกกกกกกกกกกกก "Pwd=;

You can also create and use a File DSN. Then use the following ADO Connection string:

ODBC - File DSN
กก
oConn.Open "FILEDSN=c:\somepath\mydb.dsn;" & _
กกกกกกกกกกกกกกกกกก "Uid=Admin;" & _
กกกกกกกกกกกกกกกกกก "Pwd=;"

For more information, see: About ODBC data sources and
How to Use File DSNs and DSN-less Connections

Note: The problem with DSN is that Users can (and will) modify them (or delete by mistake),
then your program won't work so well... So it's better to use a DSN-Less or OLE DB Provider
connection string with a Trusted Connection if possible!


ODBC DSN-Less Connections
ODBC Driver for AS/400
กก
oConn.Open "Driver={Client Access ODBC Driver (32-bit)};" & _
กกกกกกกกกกกกกกกกกก "System=myAS400;" & _
กกกกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Pwd=myPassword;"

For more information, see:กก A Fast Path to AS/400 Client/Server

ODBC Driver for Access
กก
For Standard Security:

oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
กกกกกกกกกกกกกกกกกก "Dbq=c:\somepath\mydb.mdb;" & _
กกกกกกกกกกกกกกกกกก "Uid=Admin;" & _
กกกกกกกกกกกกกกกกกก "Pwd=;"

If you are using a Workgroup (System database):

oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
กกกกกกกกกกกกกกกกกก "Dbq=c:\somepath\mydb.mdb;" & _
กกกกกกกกกกกกกกกกกก "SystemDB=c:\somepath\mydb.mdw;", _
กกกกกกกกกกกกกกกกกก "admin", ""

If MDB is located on a network share:

oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _
กกกกกกกกกกกกกกกกกก "Dbq=\\myServer\myShare\myPath\myDb.mdb;"

For more information, see: Microsoft Access Driver Programming Considerations


ODBC Driver for dBASE
กก
oConn.Open "Driver={Microsoft dBASE Driver (*.dbf)};" & _
กกกกกกกกกกกกกกกก "DriverID=277;" & _
กกกกกกกกกกกกกกกก "Dbq=c:\somepath;"

Note: Specify the filename in the SQL statement. For example:
กกกกกกกก oRs.Open "Select * From user.dbf", oConn, , ,adCmdText

Note: MDAC 2.1 (or greater) requires the Borland Database Engine (BDE) to update dBase DBF files. (Q238431).

For more information, see: dBASE Driver Programming Considerations


ODBC Driver for Excel
กก
oConn.Open "Driver={Microsoft Excel Driver (*.xls)};" & _
กกกกกกกกกกกกกกกกกก "DriverId=790;" & _
กกกกกกกกกกกกกกกกกก "Dbq=c:\somepath\mySpreadsheet.xls;" & _
กกกกกกกกกกกกกกกกกก "DefaultDir=c:\somepath;"

For more information, see: Microsoft Excel Driver Programming Considerations


ODBC Driver for MySQL (via MyODBC)
กก
To connect to a local database

oConn.Open "Driver={mySQL};" & _
กกกกกกกกกกกกกกกกกก "Server=MyServerName;" & _
กกกกกกกกกกกกกกกกกก "Option=16834;" & _
กกกกกกกกกกกกกกกกกก "Database=mydb;"

To connect to a remote database

oConn.Open "Driver={mySQL};" & _
กกกกกกกกกกกกกกกกกก "Server=db1.database.com;" & _
กกกกกกกกกกกกกกกกกก "Port=3306;" & _
กกกกกกกกกกกกกกกกกก "Option=131072;" & _
กกกกกกกกกกกกกกกกกก "Stmt=;" & _
กกกกกกกกกกกกกกกกกก "Database=mydb;" & _
กกกกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Pwd=myPassword;"

For more information, see: Programs Known to Work with MyODBC


ODBC Driver for Oracle
กก
For the current Oracle ODBC Driver from Microsoft:

oConn.Open "Driver={Microsoft ODBC for Oracle};" & _
กกกกกกกกกกกกกกกกกก "Server=OracleServer.world;" & _
กกกกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Pwd=myPassword;"

For the older Oracle ODBC Driver from Microsoft:

oConn.Open "Driver={Microsoft ODBC Driver for Oracle};" & _
กกกกกกกกกกกกกกกกกก "ConnectString=OracleServer.world;" & _
กกกกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Pwd=myPassword;"

For more information, see: Connection String Format and Attributes

ODBC Driver for Paradox
กก
oConn.Open "Driver={Microsoft Paradox Driver (*.db)};" & _
กกกกกกกกกกกกกกกกกก "DriverID=538;" & _
กกกกกกกกกกกกกกกกกก "Fil=Paradox 5.X;" & _
กกกกกกกกกกกกกกกกกก "DefaultDir=c:\dbpath\;" & _
กกกกกกกกกกกกกกกกกก "Dbq=c:\dbpath\;" & _
กกกกกกกกกกกกกกกกกก "CollatingSequence=ASCII;"

Note: MDAC 2.1 (or greater) requires the Borland Database Engine (BDE) to update Paradox ISAM fDBF files. (Q230126).

For more information, see: Paradox Driver Programming Considerations


ODBC Driver for SQL Server
กก
For Standard Security:

oConn.Open "Driver={SQL Server};" & _
กกกกกก กกกกกกกกกก "Server=MyServerName;" & _
กกกกกกกกกกกกกกกก "Database=myDatabaseName;" & _
กกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกก กกกกกกกกกกกก "Pwd=myPassword;"

For Trusted Connection security:

oConn.Open "Driver={SQL Server};" & _
กกกกกก กกกกกกกกกก "Server=MyServerName;" & _
กกกกกกกกกกกกกกกกกก "Database=myDatabaseName;" & _
กกกกกกกกกกกกกกกกกก "Uid=;" & _
กกกก กกกกกกกกกกกก "Pwd=;"

' or

oConn.Open "Driver={SQL Server};" & _
กกกกกก กกกกกกกกกก "Server=MyServerName;" & _
กกกกกกกกกกกกกกกกกก "Database=myDatabaseName;" & _
กกกกกกกกกกกกกกกกกก "Trusted_Connection=yes;"

To Prompt user for username and password

oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Driver={SQL Server};" & _
กกกกกก กกกกกกกกกก "Server=MyServerName;" & _
กกกกกก กกกกกกกกกก "DataBase=myDatabaseName;"
กกกก

For more information, see: SQLDriverConnect (ODBC)

ODBC Driver for Sybase
กก
If using the Sybase System 11 ODBC Driver:

oConn.Open "Driver={SYBASE SYSTEM 11};" & _
กกกกกกกกกกกกกกกกกก "Srvr=myServerName;" & _
กกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกก กกกกกกกกกกกก "Pwd=myPassword;"

If using the Intersolv 3.10 Sybase ODBC Driver:

oConn.Open "Driver={INTERSOLV 3.10 32-BIT Sybase};" & _
กกกกกกกกกกกกกกกกกก "Srvr=myServerName;" & _
กกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกก กกกกกกกกกกกก "Pwd=myPassword;"

For more information, see: Sybase System 10 ODBC Driver Reference Guide

ODBC Driver for Sybase SQL Anywhere
กก
oConn.Open "ODBC; Driver=Sybase SQL Anywhere 5.0;" & _
กกกกกกกกกกกกกกกกกก "DefaultDir=c:\dbpath\;" & _
กกกกกกกกกกกกกกกกกก "Dbf=c:\sqlany50\mydb.db;" & _
กกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกก กกกกกกกกกกกก "Pwd=myPassword;"
กกกกกกกกกกกกกกกกกก "Dsn="""";"

Note: Including the DSN tag with a null string is absolutely critical or else you get the dreaded -7778 error.

For more information, see: Sybase SQL Anywhere User Guide

ODBC Driver for Teradata
กก
oConn.Open "Provider=Teradata;" & _
กกกกกกกกกกกกกกกกกก "DBCName=MyDbcName;" & _
กกกกกกกกกกกกกกกกกก "Database=MyDatabaseName;" & _
กกกกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Pwd=myPassword;"

For more information, see Teradata ODBC Driver

ODBC Driver for Text
กก
oConn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
กกกกกกกกกกกกกกกกกก "Dbq=c:\somepath\;" & _
กกกกกกกกกกกกกกกกกก "Extensions=asc,csv,tab,txt;" & _
กกกกกกกกกกกกกกกกกก "Persist Security Info=False"

Note: Specify the filename in the SQL statement. For example:

oRs.Open "Select * From customer.csv", _
กกกกกกกกกกกกกก oConn, adOpenStatic, adLockReadOnly, adCmdText

For more information, see: Text File Driver Programming Considerations

ODBC Driver for Visual FoxPro
กก
With a database container:

oConn.Open "Driver={Microsoft Visual FoxPro Driver};" & _
กกกกกกกกกกกกกกกกกก "SourceType=DBC;" & _
กกกกกกกกกกกกกกกกกก "SourceDB=c:\somepath\mySourceDb.dbc;" & _
กกกกกกกกกกกกกกกกกก "Exclusive=No;"

Without a database container (Free Table Directory):

oConn.Open "Driver={Microsoft Visual FoxPro Driver};" & _
กกกกกกกกกกกกกกกกกก "SourceType=DBF;" & _
กกกกกกกกกกกกกกกกกก "SourceDB=c:\somepath\mySourceDbFolder;" & _
กกกกกกกกกกกกกกกกกก "Exclusive=No;"


For more information, see: Visual FoxPro ODBC Driver and Q165492

OLE DB Data Link Connections
Data Link File (UDL)
กก
For Absolute Path:

oConn.Open "File Name=c:\somepath\myDatabaseName.udl;"

For Relative Path:

oConn.Open "File Name=myDatabaseName.udl;"
กก
For more information, see: HOWTO: Use Data Link Files with ADO

Note: Windows 2000 no longer contains the "New | Microsoft Data Link" menuกก
anymore. You can add the Data Link menu back in the menu list by running the
"C:\Program Files\Common Files\System\Ole DB\newudl.reg" reg file,
then right-click on the desktop and select "New | Microsoft Data Link" menu.กก
Or you can also create a Data Link file by creating a text file and change it's
file extension to ".udl", then double-click the file.

OLE DB Provider Connections
OLE DB Provider for AS/400
กก
oConn.Open "Provider=IBMDA400;" & _
กกกกกกกกกกกกกกกกกก "Data source=myAS400;"
กกกกกกกกกกกกกกกกกก "User Id=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Password=myPassword;"

For more information, see:กก A Fast Path to AS/400 Client/Server


OLE DB Provider for Active Directory Service
กก
oConn.Open "Provider=ADSDSOObject;" & _
กกกกกกกกกกกกกกกกกก "User Id=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Password=myPassword;"
กก
For more information, see: Microsoft OLE DB Provider for Microsoft Active Directory Service


OLE DB Provider for DB2
กก
oConn.Open = "Provider=DB2OLEDB;" &
กกกกกกกกกกกกกกกกกกกก "Network Transport Library=TCPIP;" &
กกกกกกกกกกกกกกกกกกกก "Network Address=MyServer;" & _
กกกกกกกกกกกกกกกกกกกก "Package Collection=MyPackage;" &
กกกกกกกกกกกกกกกกกกกก "Host CCSID=1142"
กกกกกกกกกกกกกกกกกกกก "Initial Catalog=MyDB;" &
กกกกกกกกกกกกกกกกกกกก "User ID=MyUsername;" & _
กกกกกกกกกกกกกกกกกกกก "Password=MyPassword;"

For more information, see: OLE DB Provider for DB2
and INF: Configuring Data Sources for the Microsoft OLE DB Provider for DB2

OLE DB Provider for Index Server
กก
oConn.Open "Provider=msidxs;" & _
กกกกกกกกกกกกกกกกกก "Data source=MyCatalog;"

For more information, see: Microsoft OLE DB Provider for Microsoft Indexing Service


OLE DB Provider for Internet Publishing
กก
oConn.Open "Provider=MSDAIPP.DSO;" & _
กกกกกกกกกก "Data Source=http://mywebsite/myDir;" & _
กกกกกกกกกก "User Id=myUsername;" & _
กกกกกกกกกก "Password=myPassword;"

For more information, see: Microsoft OLE DB Provider for Internet Publishing and Q245359


OLE DB Provider for Microsoft Jet
กก
For standard security:

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
กกกกกกกกกกกกกกกกกก "Data Source=c:\somepath\myDb.mdb;" & _
กกกกกกกกกกกกกกกกกก "User Id=admin;" & _
กกกกกกกกกกกกกกกกกก "Password=;"

If using a Workgroup (System Database):

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
กกกกกกกกกกกกกกกกกก "Data Source=c:\somepath\mydb.mdb;" & _
กกกกกกกกกกกกกกกกกก "Jet OLEDB:System Database=MySystem.mdw;", _
กกกกกกกกกกกกกกกกกก "admin", ""

Note, remember to convert both the MDB and the MDW to the 4.0 database format when using the 4.0 OLE DB Provider.

If MDB has a database password:

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
กกกกกกกกกกกกกกกกกก "Data Source=c:\somepath\mydb.mdb;" & _
กกกกกกกกกกกกกกกกกก "Jet OLEDB:Database Password=MyDbPassword;", _
กกกกกกกกกกกกกกกกกก "admin", ""

If MDB is located on a network share:

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
กกกกกกกกกกกกกกกกกก "Data Source=\\myServer\myShare\myPath\myDb.mdb;

If want to open up the Access database exclusively:

oConn.Mode = adModeShareExclusive
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
กกกกกกกกกกกกกกกกกก "Data Source=c:\somepath\myDb.mdb;" & _
กกกกกกกกกกกกกกกกกก "User Id=admin;" & _
กกกกกกกกกกกกกกกกกก "Password=;"


For more information, see: OLE DB Provider for Microsoft Jet, Q191754, Q225048, Q239114, and Q271908

You can also open an Excel Spreadsheet using the "OLE DB Provider for Microsoft Jet"

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
กกกกกกกกกกกกกกกกกก "Data Source=c:\somepath\myExcelSpreadsheet.xls;" & _
กกกกกกกกกกกกกกกกกก "Extended Properties=""Excel 8.0;HDR=Yes;"";"

Where "HDR=Yes" means that there is a header row in the cell range
(or named range), so the provider will not include the first row of the
selection into the recordset. If "HDR=No", then the provider will include
the first row of the cell range (or named ranged) into the recordset.

For more information, see: Q278973


You can also open a Text File using the "OLE DB Provider for Microsoft Jet"

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
กกกกกกกกกกกกกกกกกก "Data Source=c:\somepath\;" & _
กกกกกกกกกกกกกกกกกก "Extended Properties=""text;HDR=Yes;FMT=Delimited;"";"

' Then open a recordset based on a select on the actual file
oRs.Open "Select * From MyTextFile.txt", oConn, adOpenStatic, adLockReadOnly, adCmdText

For more information, see: Q262537

OLE DB Provider for ODBC Databases
กก
For Access (Jet):

oConn.Open "Provider=MSDASQL;" & _
กกกกกกกกกกกกกกกกกก "Driver={Microsoft Access Driver (*.mdb)};" & _
กกกกกกกกกกกกกกกกกก "Dbq=c:\somepath\mydb.mdb;" & _
กกกกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Pwd=myPassword;"

For SQL Server:

oConn.Open "Provider=MSDASQL;" & _
กกกกกกกกกกกกกกกกกก "Driver={SQL Server};" & _
กกกกกกกกกกกกกกกกกก "Server=myServerName;" & _
กกกกกกกกกกกกกกกกกก "Database=myDatabaseName;" & _
กกกกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Pwd=myPassword;"

For more information, see: Microsoft OLE DB Provider for ODBC

OLE DB Provider for Oracle (from Microsoft)
กก
oConn.Open "Provider=msdaora;" & _
กกกกกกกกกกกกกกกกกก "Data Source=MyOracleDB;" & _
กกกกกกกกกกกกกกกกกก "User Id=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Password=myPassword;"

For more information, see: Microsoft OLE DB Provider for Oracle

OLE DB Provider for Oracle (from Oracle)
กก
For Standard Security:

oConn.Open "Provider=OraOLEDB.Oracle;" & _
กกกกกกกกกกกกกกกกกก "Data Source=MyOracleDB;" & _
กกกกกกกกกกกกกกกกกก "User Id=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Password=myPassword;"

For a Trusted Connection:

oConn.Open "Provider=OraOLEDB.Oracle;" & _
กกกกกกกกกกกกกกกกกก "Data Source=MyOracleDB;" & _
กกกกกกกกกกกกกกกกกก "User Id=/;" & _
กกกกกกกกกกกกกกกกกก "Password=;"
' Or

oConn.Open "Provider=OraOLEDB.Oracle;" & _
กกกกกกกกกกกกกกกกกก "Data Source=MyOracleDB;" & _
กกกกกกกกกกกกกกกกกก "OSAuthent=1;"
กก
Note: "Data Source=" must be set to the appropriate Net8 name which is known to the naming method in use. For example, for Local Naming, it is the alias in the tnsnames.ora file; for Oracle Names, it is the Net8 Service Name.

For more information, see: Connecting to an Oracle Database
(Note, if you get a Logon dialog, then click Cancel, then perform a one-time free signup with Oracle's TechNet system)

OLE DB Provider for Simple Provider
กก
The Microsoft OLE DB Simple Provider (OSP) allows ADO to access any data for which a provider has
been written using the OLE DB Simple Provider Toolkit. Simple providers are intended to access data
sources that require only fundamental OLE DB support, such as in-memory arrays or XML documents.

OSP in MDAC 2.6 has been enhanced to support opening hierarchical ADO Recordsets over arbitrary
XML files. These XML files may contain the ADO XML persistence schema, but it is not required. This
has been implemented by connecting the OSP to the MSXML2.DLL, therefore MSXML2.DLL or newer is
required.

oConn.Open "Provider=MSDAOSP;" & _
กกกกกกกกกกกกกกกกกก "Data Source=MSXML2.DSOControl.2.6;"

oRS.Open "http://WebServer/VirtualRoot/MyXMLFile.xml", oConn

For more information, see: Microsoft OLE DB Simple Provider

OLE DB Provider for SQL Server
กก
For Standard Security:

oConn.Open "Provider=sqloledb;" & _
กกกกกกกกกกกกกกกกกก "Data Source=myServerName;" & _
กกกกกกกกกกกกกกกกกก "Initial Catalog=myDatabaseName;" & _
กกกกกกกกกกกกกกกกกก "User Id=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Password=myPassword;"

For a Trusted Connection:

oConn.Open "Provider=sqloledb;" & _
กกกกกกกกกกกกกกกกกก "Data Source=myServerName;" & _
กกกกกกกกกกกกกกกกกก "Initial Catalog=myDatabaseName;" & _
กกกกกกกกกกกกกกกกกก "Integrated Security=SSPI;"

To connect to a "Named Instance" (SQL Server 2000)

oConn.Open "Provider=sqloledb;" & _
กกกกกกกกกกกกกกกกกก "Data Source=myServerName\Inst2;" & _
กกกกกกกกกกกกกกกกกก "Initial Catalog=myDatabaseName;" & _
กกกกกกกกกกกกกกกกกก "User Id=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Password=myPassword;"

To Prompt user for username and password:

oConn.Provider = "sqloledb"
oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Data Source=myServerName;" & _
กกกกกกกกกกกกกกกกกก "Initial Catalog=myDatabaseName;"

To connect via an IP address:

oConn.Open "Provider=sqloledb;" & _
กกกกกกกกกกกกกกกกกก "Data Source=xxx.xxx.xxx.xxx,1433;" & _
กกกกกกกกกกกกกกกกกก "Network Library=DBMSSOCN;" & _
กกกกกกกกกกกกกกกกกก "Initial Catalog=myDatabaseName;" & _
กกกกกกกกกกกกกกกกกก "User ID=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Password=myPassword;"
Note:
- xxx.xxx.xxx.xxx is an IP address
- "Network Library=DBMSSOCN" tells OLE DB to use TCP/IP rather than Named Pipes (Q238949)
- 1433 is the default port number for SQL Server
- You can also add "Encrypt=yes" for encryption

For more information, see: Microsoft OLE DB Provider for SQL Server

Remote Data Service (RDS) Connections
The following examples show how to connect to a remote database using the RDS Data Control.
When using the RDS DataControl's Server/SQL/Connect properties, the RDS DataControl uses the
RDS DataFactory on the remote server. If you use the RDS DataControl's URL property,
then the RDS DataFactory is not used at all.

WARNING: The RDS DataFactory can be a major security hole if not setup and configured correctly!
For more information, see RDS FAQ #24

RDS DataControl - Connect Property
กก
With the RDS default handler disabled (not recommend due to security risks):

With oRdc
กก .Server = "http://carl2"
กก .Sql = "Select * From Authors Where State = 'CA'"
กก .Connect = "Provider=sqloledb;" & _
กกกกกกกกกกกกกกกกกกกก "Data Source=(local);" & _
กกกกกกกกกกกกกกกกกกกก "Initial Catalog=pubs;" & _
กกกกกกกกกกกกกกกกกกกก "User Id=sa;" & _
กกกกกกกกกกกกกกกกกกกก "Password=;"
กก .Refresh
End With

With the RDS default handler enabled (recommend):

With oRdc
กก .Server = "http://carl2"
กก .Handler = "MSDFMAP.Handler"
กก .Connect = "Data Source=MyConnectTag;"
กก .Sql = "MySQLTag(""CA"")"
กก .Refresh
End With

The corresponding CONNECT and SQL sections in the default handler \WINNT\MSDFMAP.INI file would be:

[connect MyConnectTag]
Access = ReadWrite
Connect = "Provider=sqloledb;Data Source=(local);Initial Catalog=pubs;User Id=sa;Password=;"

[sql MySQLTag]
Sql = "Select * From Authors Where State = '?'"

For more information about the RDS Default Handler, see:
Q243245, Q230680, and RDS Customization Handler Microsoft articles

RDS DataControl - URL Property
กก
To get records from a remote database:

With oRdc
กก .URL = "http://carlp0/Authors_GetByState.asp?state=CA"
กก .Refresh
End With

To save, set the URL property to an ASP web page:

With oRdc
กก .URL = "http://carlp0/rdsdatacontrol/Authors_Save.asp"
กก .SubmitChanges
End With

For more information, see: RDS URL Property

ADO URL Connections
ADO 2.5+ allows you to open up a Recordset based on XML returned from an ASP file over HTTP.กก
This feature doesn't use RDS at all.

ADO Recordset
กก
To get records from a remote database:

oRs.Open "http://carlp0/Authors_GetByState.asp?state=CA", , _
กกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกกก adOpenStatic, adLockBatchOptimistic
To save changes, you must use the MSXML's XMLHTTP object to POST back the updated XML.กก
The Recordset's Update and UpdateBatch methods will not work in this case.

' Save Recordset into Stream
Set oStm = New ADODB.Stream
oRs.Save oStm, adPersistXML

' Use MSXML's XMLHTTP object to open ASP and post a XML stream
Set oXMLHTTP = New MSXML2.XMLHTTP30
oXMLHTTP.Open "POST", "http://carlp0/Authors_Save.asp", False
oXMLHTTP.Send oStm.ReadText

' If an error occurred
If oXMLHTTP.Status = 500 Then
กก Debug.Print oXMLHTTP.statusText
End If

For more information, see: ADO Recordset's Open Method

MS Remote Provider Connections
The following connections strings use Microsoft's remote provider (MS Remote). The MS Remote
provider tells ADO to communicate with the remote server (via the RDS DataFactory) and to use
the remote provider that is installed on the remote server.

WARNING: The RDS DataFactory can be a major security hole if not setup and configured correctly!กก
For more information, see RDS FAQ #24

MS Remote - Access (Jet)
กก
If you want to use an ODBC DSN on the remote machine:

oConn.Open "Provider=MS Remote;" & _
กกกกกกกกกกกกกกกกกก "Remote Server=http://myServerName;" & _
กกกกกกกกกกกกกกกกกก "Remote Provider=MSDASQL;" & _
กกกกกกกกกกกกกกกกกก "DSN=AdvWorks;" & _
กกกกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Pwd=myPassword;"

If you want to use an OLE DB Provider on the remote machine:

oConn.Open "Provider=MS Remote;" & _
กกกกกกกกกกกกกกกกกก "Remote Server=http://myServerName;" & _
กกกกกกกกกกกกกกกกกก "Remote Provider=Microsoft.Jet.OLEDB.4.0;" & _
กกกกกกกกกกกกกกกกกก "Data Source=c:\somepath\mydb.mdb;", _
กกกกกกกกกกกกกกกกกก "admin", ""

If you want to use an OLE DB Provider on the remote machine (via RDS DataFactory Default Handler):

oConn.Open "Provider=MS Remote;" & _
กกกกกกกกกกกกกกกกกก "Remote Server=http://myServerName;" & _
กกกกกกกกกกกกกกกกกก "Handler=MSDFMAP.Handler;" & _
กกกกกกกกกกกกกกกกกก "Data Source=MyAdvworksConn;"

The corresponding entry in the \winnt\Msdfmap.ini file would be:

[connect MyAdvworksConn]
Access = ReadWrite
Connect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
กกกกกกกกกกกกกก "Data Source=mydb.mdb;" & _
กกกกกกกกกกกกกก "User Id=admin;" & _
กกกกกกกกกกกกกก "Password=;"

MS Remote - SQL Server
กก
If you want to use an ODBC DSN on the remote machine:

oConn.Open "Provider=MS Remote;" & _
กกกกกกกกกกกกกกกกกก "Remote Server=http://myServerName;" & _
กกกกกกกกกกกกกกกกกก "Remote Provider=MSDASQL;" & _
กกกกกกกกกกกกกกกกกก "DSN=myDatabaseName;" & _
กกกกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Pwd=myPassword;"

If you want to use an OLE DB Provider on the remote machine:

oConn.Open "Provider=MS Remote;" & _
กกกกกกกกกกกกกกกกกก "Remote Server=http://myServerName;" & _
กกกกกกกกกกกกกกกกกก "Remote Provider=SQLOLEDB;" & _
กกกกกกกกกกกกกกกก "Data Source=myServerName;" & _
กกกกกกกกกกกกกกกก "Initial Catalog=myDatabaseName;" & _
กกกกกกกกกกกกกกกก "User ID=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Password=myPassword;"

If you want to use an OLE DB Provider on the remote machine (via RDS DataFactory Default Handler):

oConn.Open "Provider=MS Remote;" & _
กกกกกกกกกกกกกกกก กก"Remote Server=http://myServerName;" & _
กกกกกกกกกกกกกกกก กก"Handler=MSDFMAP.Handler;" & _
กกกกกกกกกกกกกกกก กก"Data Source=MyPubsConn;"

The corresponding entry in the \winnt\Msdfmap.ini file would be:

[connect MyPubsConn]
Access = ReadWrite
Connect = "Provider=SQLOLEDB;" & _
กกกกกกกกกกกกกก "Data Source=myServerName;" & _
กกกกกกกกกกกกกก "Initial Catalog=myDatabaseName;" & _
กกกกกกกกกกกกกก "User ID=myUsername;" & _
กกกกกกกกกกกกกก "Password=myPassword;"

For more information, see: Microsoft OLE DB Remoting Providerกก and Q240838

Data Shape Provider Connections
MS DataShape - SQL Server
กก
oConn.Open "Provider=MSDataShape;" & _
กกกกกกกกกกกกกกกกกก "Data Provider=SQLOLEDB;" & _
กกกกกกกกกกกกกกกกกก "Data Source=mySQLServerName;" & _
กกกกกกกกกกกกกกกกกก "Initial Catalog=myDatabase;" & _
กกกกกกกกกกกกกกกกกก "User ID=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Password=myPassword;"

Then use a Shape command with SQL strings:
sSQL = "SHAPE {select * from authors} " & _
กกกกกกกกกก "APPEND ({select * from titleauthor} AS chapter " & _
กกกกกกกกกก "RELATE au_id TO au_id)"

Or use a Shape command that calls Stored Procedures:
sSQL = "SHAPE {exec spAuthors_LoadAll} " & _
กกกกกกกกกก "APPEND ({exec spTitleAuthor_LoadAll} AS chapter " & _
กกกกกกกกกก "RELATE au_id TO au_id)"

For more information, see: Microsoft Data Shaping Service for OLE DB and Q288409

.NET Managed Provider Connections
SQL Client .NET Managed Provider (System.Data.SqlClient)
กก
The SQL Client .NET Managed Provide allows you to connect to a Microsoft SQL Server 7.0
or 2000 database. For Microsoft SQL Server 6.0 or earlier, use the OLE DB .NET Data Provider
with the "SQL Server OLE DB Provider" (SQLOLEDB).

Dim oSQLConnection As SqlClient.SqlConnection
Dim sConnString As String

sConnString = "Data Source=(local);" & _
กกกกกกกกกกกกกกกกกกกก "Initial Catalog=NorthWind;" & _
กกกกกกกกกกกกกกกกกกกก "Integrated Security=SSPI;" & _
กกกกกกกกกกกกกกกกกกกก "Pooling=True;" & _
กกกกกกกกกกกกกกกกกกกก "Min Pool Size=10;" & _
กกกกกกกกกกกกกกกกกกกก "Max Pool Size=50;" & _
กกกกกกกกกกกกกกกกกกกก "Connection Lifetime=30;" & _
กกกกกกกกกกกกกกกกกกกก "Connection Reset=True;" & _
กกกกกกกกกกกกกกกกกกกก "Enlist=True;"
oSQLConnection = New SqlClient.SqlConnection(sConnString)
oSQLConnection.Open()

For more information, see: System.Data.SQL Namespace and .NET Data Providers
Note: 'SQL' namespace got renamed to 'SQLClient'


OLE DB .NET Managed Provider (System.Data.OleDb)
กก
The OLE DB .NET Data Provider uses native OLE DB through COM interop to enable data access.กก
To use the OLE DB .NET Data Provider, you must also use an OLE DB provider (e.g. SQLOLEDB,
MSDAORA, or Microsoft.JET.OLEDB.4.0).

For SQL Server OLE DB Provider (for SQL Server 6.0 or earlier)

Dim oOleDbConnection As OleDb.OleDbConnection
Dim sConnString As String

sConnString = "Provider=sqloledb;" & _
กกกกกกกกกกกกกกกกกกกก "Data Source=myServerName;" & _
กกกกกกกกกกกกกกกก กก "Initial Catalog=myDatabaseName;" & _
กกกกกกกกกกกกกกกก กก "User Id=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Password=myPassword;"
oOleDbConnection = New OleDb.OleDbConnection(sConnString)
oOleDbConnection.Open()

For JET OLE DB Provider:

Dim oOleDbConnection As OleDb.OleDbConnection
Dim sConnString As String

sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
กกกกกกกกกกกกกกกกกกกก "Data Source=C:\Work\nwind.mdb;" & _
กกกกกกกกกกกกกกกกกกกก "User ID=Admin;" & _
กกกกกกกกกกกกกกกกกกกก "Password="";"
oOleDbConnection = New OleDb.OleDbConnection(sConnString)
oOleDbConnection.Open()

For more information, see: System.Data.OleDb Namespace and .NET Data Providers
Note: 'ADO' namespace got renamed to 'OleDb'


ODBC .NET Managed Provider (System.Data.ODBC)
กก
The ODBC .NET Data Provider is an add-on component to the .NET Framework SDK Beta 2.
It provides access to native ODBC drivers the same way the OLE DB .NET Data Provider
provides access to native OLE DB providers.

For SQL Server ODBC Driver:

Dim oODBCConnection As Odbc.OdbcConnection
Dim sConnString As String

' Create and open a new ODBC Connection
sConnString = "Driver={SQL Server};" & _
กกกกกกกกกกกกกกกกกกกก "Server=MySQLServerName;" & _
กกกกกกกกกกกกกกกกกกกก "Database=MyDatabaseName;" & _
กกกกกกกกกกกกกกกกกกกก "Uid=MyUsername;" & _
กกกกกกกกกกกกกกกกกกกก "Pwd=MyPassword;"

oODBCConnection = New Odbc.OdbcConnection(sConnString)
oODBCConnection.Open()

For Oracle ODBC Driver:

Dim oODBCConnection As Odbc.OdbcConnection
Dim sConnString As String

' Create and open a new ODBC Connection
sConnString = "Driver={Microsoft ODBC for Oracle};" & _
กกกกกกกกกกกกกกกกกก "Server=OracleServer.world;" & _
กกกกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกกกกกกกกกกกกกกกก "Pwd=myPassword;"

oODBCConnection = New Odbc.OdbcConnection(sConnString)
oODBCConnection.Open()

For Access (JET) ODBC Driver:

Dim oODBCConnection As Odbc.OdbcConnection
Dim sConnString As String

' Create and open a new ODBC Connection
sConnString = "Driver={Microsoft Access Driver (*.mdb)};" & _
กกกกกกกกกกกกกกกกกก "Dbq=c:\somepath\mydb.mdb;" & _
กกกกกกกกกกกกกกกกกก "Uid=Admin;" & _
กกกกกกกกกกกกกกกกกก "Pwd=;"

oODBCConnection = New Odbc.OdbcConnection(sConnString)
oODBCConnection.Open()

For all other ODBC Drivers:

Dim oODBCConnection As Odbc.OdbcConnection
Dim sConnString As String

' Create and open a new ODBC Connection
sConnString = "Dsn=myDsn;" & _
กกกกกกกกกกกกกกกกกกกก "Uid=myUsername;" & _
กกกกกกกกกกกกกกกกกกกก "Pwd=myPassword;"

oODBCConnection = New Odbc.OdbcConnection(sConnString)
oODBCConnection.Open()

 

