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...
strConnection = _T("Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;" "Dbq=c:\\DatabasePath;");
Note: You must specify the filename in the SQL statement... For example:
CString strQuery = _T("Select Name, Address From Clients.dbf");
strConnection = _T("Driver={Microsoft Excel Driver (*.xls)};DriverId=790;"
bq=C:\\DatabasePath\\DBSpreadSheet.xls;DefaultDir=c:\\databasepath;");
strConnection = _T("Driver={Microsoft Text Driver (*.txt; *.csv)};" "Dbq=C:\\DatabasePath\\;Extensions=asc,csv,tab,txt;");
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.
Note: You must specify the filename in the SQL statement... For example:
CString strQuery = _T("Select Name, Address From Clients.csv");
If you are using a database container, the connection string is the following:
strConnection = _T("Driver={Microsoft Visual Foxpro Driver};UID=;"
ourceType=DBC;SourceDB=C:\\DatabasePath\\MyDatabase.dbc;Exclusive=No");
If you are working without a database container, you must change the SourceType
parameter by DBF
as in the following connection string:
strConnection = _T("Driver={Microsoft Visual Foxpro Driver};UID=;" "SourceType=DBF;SourceDB=C:\\DatabasePath\\MyDatabase.dbc;Exclusive=No");
strConnection = _T("Driver={Microsoft Access Driver (*.mdb)};" "Dbq=c:\\DatabasePath\\dbaccess.mdb;Uid=;Pwd=;");
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:
strConnection = _T("Driver={Microsoft Access Driver (*.mdb)};" "Dbq=C:\\VC Projects\\ADO\\Samples\\AdoTest\\dbTestSecurity.mdb;" "SystemDB=C:\\Program Files\\Microsoft Office\\Office\\SYSTEM.mdw;" "Uid=Carlos Antollini;Pwd=carlos");
or may be:
strConnection = _T("Driver={Microsoft Access Driver (*.mdb)};" "Dbq=C:\\VC Projects\\ADO\\Samples\\AdoTest\\dbTestSecurity.mdb;" "SystemDB=C:\\Program Files\\Microsoft Office\\Office\\SYSTEM.mdw;"); if(pDB.Open(strConnection, "DatabaseUser", "DatabasePass")) { DoSomething(); pDB.Close(); }
If you want to open in Exclusive mode:
strConnection = _T("Driver={Microsoft Access Driver (*.mdb)};" "Dbq=c:\\DatabasePath\dbaccess.mdb;Exclusive=1;");
For Standard security:
strConnection = _T("Driver={SQL Server};Server=MyServerName;" "Trusted_Connection=no;" "Database=MyDatabaseName;Uid=MyUserName;Pwd=MyPassword;");
For Trusted Connection security (Microsoft Windows NT integrated security):
strConnection = _T("Driver={SQL Server};Server=MyServerName;" "Database=myDatabaseName;Uid=;Pwd=;");
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:
strConnection = _T("Driver={SQL Server};Server=MyServerName;" "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:
strConnection = _T("Driver={SQL Server};Server=(local);" "Database=MyDatabaseName;Uid=MyUserName;Pwd=MyPassword;");
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:
dbnmpntw
Win32 Named Pipes
dbmssocn
Win32 Winsock TCP/IP
dbmsspxn
Win32 SPX/IPX
dbmsvinn
Win32 Banyan Vines
dbmsrpcn
Win32 Multi-Protocol (Windows RPC) For more information, see Q238949.
strConnection = _T("Driver={SQL Server};Server=130.120.110.001;" "Address=130.120.110.001,1052;Network=dbmssocn;Database=MyDatabaseName;" "Uid=myUsername;Pwd=myPassword;");
For the current Oracle ODBC driver from Microsoft:
strConnect = _T("Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;" "Uid=MyUsername;Pwd=MyPassword;");
For the older Oracle ODBC driver from Microsoft:
strConnect = _T("Driver={Microsoft ODBC Driver for Oracle};" "ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;");
If you want to connect to a local database, you can use a connection string like the following:
strConnect = _T("Driver={MySQL ODBC 3.51 Driver};Server=localhost;" "Database=MyDatabase;User=MyUserName;Password=MyPassword;Option=4;");
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.
strConnect = _T("Driver={mySQL ODBC 3.51 Driver};Server=MyRemoteHost;" "Port=3306;Option=4;Database=MyDatabase;Uid=MyUsername;Pwd=MyPassword;");
The parameter Option
can be one or more of the following values:
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.
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;
.
For more information, go to MyODBC Reference Manual.
strConnect = _T("Driver={Client Access ODBC Driver (32-bit)};System=myAS400;" "Uid=myUsername;Pwd=myPassword;");
strConnect = _T("Driver={Sybase System 10};Srvr=MyServerName;Uid=MyUsername;" "Pwd=myPassword;");
strConnect = _T("ODBC;Driver=Sybase SQL Anywhere 5.0;" "DefaultDir=C:\\DatabasePath\;Dbf=C:\\SqlAnyWhere50\\MyDatabase.db;" "Uid=MyUsername;Pwd=MyPassword;Dsn=\"\";");
strConnect = _T("DSN=MyDSN;Uid=MyUsername;Pwd=MyPassword;");
For Standard security:
strConnect = _T("Provider=sqloledb;Data Source=MyServerName;" "Initial Catalog=MyDatabaseName;" "User Id=MyUsername;Password=MyPassword;");
For Trusted Connection security (Microsoft Windows NT integrated security):
strConnect = _T("Provider=sqloledb;Data Source=MyServerName;" "Initial Catalog=MyDatabaseName;" "Integrated Security=SSPI;");
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:
strConnect = _T("Provider=sqloledb;Data Source=MyServerName\MyInstanceName;" "Initial Catalog=MyDatabaseName;User Id=MyUsername;Password=MyPassword;");
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:
strConnect = _T("Provider=sqloledb;Data Source=(local);" "Initial Catalog=myDatabaseName;" "User ID=myUsername;Password=myPassword;");
To connect to SQL Server running on a remote computer (via an IP address):
strConnect = _T("Provider=sqloledb;Network Library=DBMSSOCN;" "Data Source=130.120.110.001,1433;" "Initial Catalog=MyDatabaseName;User ID=MyUsername;" "Password=MyPassword;");
strConnection = _T("Provider=MySQLProv;Data Source=test");
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
.
strConnect = _T("Provider=IBMDA400;Data source=myAS400;User Id=myUsername;" "Password=myPassword;");
For more information, see: Using the OLE DB Provider for AS/400 and VSAM.
strConnect = _T("Provider=ADSDSOObject;User Id=myUsername;Password=myPassword;");
For more information, see: Microsoft OLE DB Provider for Microsoft Active Directory Service.
If you are using a TCP/IP connection:
strConnect = _T("Provider=DB2OLEDB;Network Transport Library=TCPIP;" "Network Address=130.120.110.001;" "Initial Catalog=MyCatalog;Package Collection=MyPackageCollection;" "Default Schema=MySchema;User ID=MyUsername;Password=MyPassword;");
If you are using APPC connection:
strConnect = _T("Provider=DB2OLEDB;APPC Local LU Alias=MyLocalLUAlias;" "APPC Remote LU Alias=MyRemoteLUAlias;Initial Catalog=MyCatalog;" "Package Collection=MyPackageCollection;Default Schema=MySchema;" "User ID=MyUsername;Password=MyPassword;");
For more information, see: Using the OLE DB Provider for DB2.
Using Standard security:
strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0;" "Data Source=C:\\DatabasePath\\MmDatabase.mdb;" "User Id=admin;Password=;");
If you are using a Workgroup (System database):
strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0;" "Data Source=C:\\DataBasePath\\mydb.mdb;" "Jet OLEDB:System Database=MySystem.mdw;"); pRs.Open(strConnect, "MyUsername", "MyPassword");
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.
For more information, see: Q278973.
strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\DatabasePath\\;" "Extended Properties=\"\"text;" "HDR=Yes;FMT=Delimited;\"\";");
Note: You must specify the filename in the SQL statement... For example:
CString strQuery = _T("Select Name, Address From Clients.txt");
For more information, see: Q262537.
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).
strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0;Exchange 4.0;" "MAPILEVEL=Mailbox - Pat Smith|;DATABASE=C:\\Temp\\;")
You must replace c:\temp with any temporary folder.
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:
CString strQuery = _T("SQL "SELECT Contacts.* FROM Contacts;");
For more information, see: The Jet 4.0 Exchange/Outlook IISAM.
If you want to connect with a Microsoft Access database:
strConnect = _T("Provider=MSDASQL;Driver={Microsoft Access Driver (*.mdb)};" "Dbq=c:\\DatabasePath\\MyDatabase.mdb;Uid=MyUsername;Pwd=MyPassword;");
If you want to connect with a SQL Server database:
strConnect = _T("Provider=MSDASQL;Driver={SQL Server};Server=MyServerName;" "Database=MyDatabaseName;Uid=MyUsername;Pwd=MyPassword;");
If you want to use DSN:
strConnect = _T("Provider=MSDASQL;PersistSecurityInfo=False;" "Trusted_Connection=Yes;" "Data Source=MyDSN;catalog=MyDatabase;");
For more information, see: Microsoft OLE DB Provider for ODBC.
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.
strConnect = _T("Provider=MSOLAP;Data Source=MyOLAPServerName;" "Initial Catalog=MyOLAPDatabaseName;");
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/).
strConnect = _T("Provider=MSOLAP;Data Source=http://MyOLAPServerName/;" "Initial Catalog=MyOLAPDatabaseName;");
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.
strConnect = _T("Provider=MSDAORA;Data Source=MyOracleDB;User Id=myUsername;" "Password=myPassword;");
For more information, see: Microsoft OLE DB Provider for Oracle.
For Standard security:
strConnect = _T("Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;" "User Id=myUsername;Password=myPassword;");
For a Trusted connection:
strConnect = _T("Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;" "User Id=/;Password=;");
strConnect = _T("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: Oracle Provider for OLE DB Developer's Guide.
strConnect = _T("Provider=vfpoledb;" "Data Source=C:\\DatabasePath\\MyDatabase.dbc;");
For more information, see: Microsoft OLE DB Provider for Visual FoxPro.
strConnect = _T("provider=msidxs;Data Source=MyCatalog;");
For more information, see: Microsoft OLE DB Provider for Microsoft Indexing Service.
strConnection = _T("File Name=c:\\DataBasePath\\DatabaseName.udl;");
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.
Carlos
Antollini is a software engineer working on Object Oriented, Visual
C++, MFC, COM, ATL, ADO, Internet technologies, OLAP, MS-SQLServer and
Cyrillic Languages. Carlos is originally from Argentina, he was living by a couple of years in Fort Lauderdale, Florida, working for Citibank. Then he started his own business. Carlos is the creator of piFive[^] , a family of BI Analytic Platform software, that it deals next to, latinsys[^] , his partner in businesses...Click here to view Carlos Antollini's online profile. |
hooo
aku coba ini buat akses (terpassword) vs. delphi jg bisa :D :
//hahaha nulisnya susah (mas saran nih : kolom komentar bisa dilebarin dikit ngga ?)
thx
» MovableType Plugin: SimpleLink (3)Bagi yang suka perhitungan jawa (neptu), akan terbantu dengan menggunakan aplikasi kecil ini
» Google Earth (1)Contoh pembuatan PlugIn untuk MovableType, sebuah Blogger Engine dengan menggunakan pemrograman PERL.
» Desain Table dengan Excel (2)Menjelajahi bumi dan melihat bentuk permukaannya, melihat kota-kota dan gunung-gunung besar
» Tips and Trick Membuat ConnectionString (4)Tips untuk mempermudah dalam melakukan desain tabel melalui Microsoft Excel
Tidak selamanya programmer bisa menghapal ConnectionString. Kalaupun bisa, tentu lebih baik jika ConnectionString disimpan dalam file. Eko Heri membahasnya untuk anda