ADO Connection Strings
ADO Connection Strings
Overview
DSN-Less Connection
o dBASE
o Excel
o Text File
o Visual FoxPro
o Access database
o SQL Server
o Oracle
o MySQL
o AS400
o Sybase
o Sybase SQL AnyWhere
DSN Connection
o ODBC DSN
OLE DB Provider
o SQL Server
o MySQL
o AS400
o Active Directory
o DB2
o Microsoft Jet
o ODBC Databases
o OLAP
o Oracle
o Visual FoxPro
o Index Server
OLE DB Data Link Connections
o Data Link File - UDL
Overview
Generally, one of the first steps when you are trying to work with databases is open it. You can
find several types of those, and each have a different mode of connection. When you try to
connect with your database sometimes, you don't know the correct connection string that you
must use. It is for that I wrote this article. I wanted to compile the connection strings to the
majority of known databases...
Note: You must specify the filename in the SQL statement... For example:
If you are using tab delimited files, you must create the schema.ini file, and you must inform the
Format=TabDelimited option in your connection string.
1
Note: You must specify the filename in the SQL statement... For example:
Visual FoxPro
If you are using a database container, the connection string is the following:
If you are working without a database container, you must change the SourceType parameter by
DBF as in the following connection string:
If you are using a Workgroup (System database): you need to inform the SystemDB Path, the User
Name and its password. For that, you have two solutions: inform the user and password in the
connection string or in the moment of the open operation. For example:
or may be:
Also, you can use the parameter Trusted_Connection that indicates that you are using the
Microsoft Windows NT Authentication Mode to authorize user access to the SQL Server database.
For example:
2
"Database=MyDatabaseName;Trusted_Connection=yes;");
If the SQL Server is running in the same computer, you can replace the name of the server by the
word (local) like in the following sample:
If you want to connect with a remote SQL Server, you must inform the address, the port, and the
Network Library to use:
The Address parameter must be an IP address and must include the port. The Network parameter
can be one of the following:
If you want to connect to a local database, you can use a connection string like the following:
If you want to connect with a remote database, you need to specify the name of the server or its
IP in the Server parameter. If the Port is distinct to 3306 (default port), you must specify it.
1 - The client can't handle that MyODBC returns the real width of a column.
2 - The client can't handle that MySQL returns the true value of affected rows. If this flag is
set then MySQL returns 'found rows' instead. One must have MySQL 3.21.14 or newer to
get this to work.
4 - Make a debug log in c:\myodbc.log. This is the same as putting
MYSQL_DEBUG=d:t:O,c::\myodbc.log in AUTOEXEC.BAT.
8 - Don't set any packet limit for results and parameters.
16 - Don't prompt for questions even if driver would like to prompt.
32 - Enable or disable the dynamic cursor support. This is not allowed in MyODBC 2.50.
3
64 - Ignore use of database name in 'database.table.column'.
128 - Force use of ODBC manager cursors (experimental).
256 - Disable the use of extended fetch (experimental).
512 - Pad CHAR fields to full column length.
1024 - SQLDescribeCol() will return fully qualified column names.
2048 - Use the compressed server/client protocol.
4096 - Tell server to ignore space after function name and before '(' (needed by
PowerBuilder). This will make all function names keywords!
8192 - Connect with named pipes to a MySQLd server running on NT.
16384 - Change LONGLONG columns to INT columns (some applications can't handle
LONGLONG).
32768 - Return 'user' as Table_qualifier and Table_owner from SQLTables
(experimental).
65536 - Read parameters from the client and ODBC groups from my.cnf.
131072 - Add some extra safety checks (should not be needed but...).
If you want to have multiple options, you should add the above flags! For example: 16 + 1024 =
1030 and use Option= 1030;.
DSN Connection
ODBC DSN
strConnect = _T("DSN=MyDSN;Uid=MyUsername;Pwd=MyPassword;");
OLE DB Provider
If you want to connect to a "Named Instance" (SQL Server 2000), you must to specify Data
Source=Servere Name\Instance Name like in the following example:
4
If you want to connect with a SQL Server running on the same computer, you must specify the
keyword (local) in the Data Source like in the following example:
Where test is the name of MySQL database. Also, you can replace the name of the database by
the following connection string: server=localhost;DB=test.
For more information, see: Using the OLE DB Provider for AS/400 and VSAM.
For more information, see: Microsoft OLE DB Provider for Microsoft Active Directory Service.
For more information, see: Using the OLE DB Provider for DB2.
strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0;"
"Data Source=C:\\DatabasePath\\MmDatabase.mdb;"
"User Id=admin;Password=;");
strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0;"
"Data Source=C:\\DataBasePath\\mydb.mdb;"
"Jet OLEDB:System Database=MySystem.mdw;");
5
pRs.Open(strConnect, "MyUsername", "MyPassword");
Connecting to an Excel Spreadsheet using the JET OLE DB Provider:
strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0;"
"Data Source=C:\\DatabasePath\\DBSpreadSheet.xls;"
"Extended Properties=\"\"Excel 8.0;HDR=Yes;\"\";");
Note: If "HDR=Yes", the provider will not include the first row of the selection into the
recordset. If "HDR=No", the provider will include the first row of the cell range (or named
ranged) into the recordset.
Note: You must specify the filename in the SQL statement... For example:
Connecting to an Outlook 2000 personal mail box using the JET OLE DB Provider:
(By J. Cardinal)
strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0;Outlook 9.0;"
"MAPILEVEL=;DATABASE=C:\\Temp\\;")
Replace c:\temp with any temporary folder. It will create a schema file in that folder when
you open it which shows all the fields available. Blank MAPILEVEL indicates top level of
folders).
Replace Pat Smith with the name of the mail box and you must keep vertical pipe
character | to indicate top level of folders. Place sub folder after vertical pipe if accessing
specific folder.
Note: you can enter queries against the mail store just like a database... For example:
6
strConnect = _T("Provider=MSDASQL;PersistSecurityInfo=False;"
"Trusted_Connection=Yes;"
"Data Source=MyDSN;catalog=MyDatabase;");
Microsoft® OLE DB for Online Analytical Processing (OLAP) is a set of objects and interfaces that
extends the ability of OLE DB to provide access to multidimensional data stores.
This feature enables a client application to connect to an Analysis server through Microsoft®
Internet Information Services (IIS) by specifying a URL in the Data Source property in the client
application's connection string. This connection method allows PivotTable® Service to tunnel
through firewalls or proxy servers to the Analysis server. A special Active Server Pages (ASP)
page, Msolap.asp, enables the connection through IIS. The directory in which this file resides must
be included as part of the URL when connecting to the server (for example,
http://www.myserver.com/myolap/).
Using a URL
strConnect = _T("Provider=MSOLAP;Data Source=http://MyOLAPServerName/;"
"Initial Catalog=MyOLAPDatabaseName;");
Using SSL
strConnect = _T("Provider=MSOLAP;Data Source=https://MyOLAPServerName/;"
"Initial Catalog=MyOLAPDatabaseName;");
For more information, see: OLE DB for OLAP, Connecting Using HTTP.
The Microsoft OLE DB Provider for Oracle allows ADO to access Oracle databases.
7
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: Oracle Provider for OLE DB Developer's Guide.
For more information, see: Microsoft OLE DB Provider for Visual FoxPro.
For more information, see: Microsoft OLE DB Provider for Microsoft Indexing Service.
If you want to create a Data Link File, you can make a new empty text file, change its extension
by .udl, then double click over the file, and the operating system calls for you the Data Link app.