數據庫鏈接字符串
1、SQL Server
________________________________________
ODBC
標準鏈接
Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
受信的鏈接
Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Trusted_Connection=Yes;
指定賬號和密碼
oConn.Properties("Prompt") = adPromptAlways
Driver={SQL Server};Server=myServerAddress;Database=myDataBase;
OLE DB, OleDbConnection (.NET) 標準鏈接
Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
受信的鏈接
Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
使用serverName\instanceName做爲數據源能夠指定SQL Server實例。
鏈接到一個SQL Server的實例 指定服務器實例的表達式和其餘SQL Server的鏈接字符串相同。
Provider=sqloledb;Data Source=myServerName\theInstanceName;Initial Catalog=myDataBase;Integrated Security=SSPI;
指定賬戶和密碼
oConn.Provider = "sqloledb"
oConn.Properties("Prompt") = adPromptAlways
Data Source=myServerAddress;Initial Catalog=myDataBase;
使用IP地址的鏈接
Provider=sqloledb;Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
SqlConnection (.NET) 標準鏈接
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
Standard Security alternative syntax
Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;
受信任的鏈接
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
Trusted Connection alternative syntax
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;c++
鏈接到SQL Server實例 指定服務器實例的表達式和其餘SQL Server的鏈接字符串相同。
Server=myServerName\theInstanceName;Database=myDataBase;Trusted_Connection=True;
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;User ID=myDomain\myUsername;Password=myPassword;
僅能用於CE設備。
帶有IP地址的鏈接
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;web
指定包的大小
Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;Packet Size=4096;
默認的包大小爲8192字節。
Data Shape MS Data Shape
Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
________________________________________
2、MYSQL
________________________________________
MyODBC
MyODBC 2.50 本地數據庫
Driver={mySQL};Server=localhost;Option=16834;Database=myDataBase;sql
MyODBC 2.50 遠程數據庫
Driver={mySQL};Server=myServerAddress;Port=3306;Option=131072;Stmt=; Database=myDataBase;Uid=myUsername;Pwd=myPassword;數據庫
MyODBC 3.51 本地數據庫
Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=myDataBase; User=myUsername;Password=myPassword;Option=3;c#
MyODBC 3.51 遠程數據庫
Driver={MySQL ODBC 3.51 Driver};Server=data.domain.com;Port=3306;Database=myDataBase;User=myUsername; Password=myPassword;Option=3;安全
OLE DB, OleDbConnection (.NET)
標準
Provider=MySQLProv;Data Source=mydb;User Id=myUsername;Password=myPassword;服務器
Connector/Net 1.0 (.NET)
標準
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;網絡
默認端口號是3306.
指定端口號
Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;app
命名管道
Server=myServerAddress;Port=-1;Database=myDataBase;Uid=myUsername;Pwd=myPassword;dom
若是端口是-1,意思是告訴驅動程序使用命名管道網絡協議來鏈接數據庫。
MySqlConnection (.NET)
eInfoDesigns.dbProvider
Data Source=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Command Logging=false;
SevenObjects MySqlClient (.NET)
標準
Host=myServerAddress;UserName=myUsername;Password=myPassword;Database=myDataBase;
Core Labs MySQLDirect (.NET)
標準
User ID=root;Password=myPassword;Host=localhost;Port=3306;Database=myDataBase; Direct=true;Protocol=TCP;Compress=false;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;
MySQLDriverCS (.NET)
標準
Location=myServerAddress;Data Source=myDataBase;UserID=myUsername;Password=myPassword;Port=3306;Extended Properties="""";
________________________________________
3、Oracle
ODBC
新版本
Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword;
舊版本
Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;
OLE DB, OleDbConnection (.NET)
標準鏈接
此鏈接字符串適用了微軟的驅動。
Provider=msdaora;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
受信鏈接
Provider=msdaora;Data Source=MyOracleDB;Persist Security Info=False;Integrated Security=Yes;
標準鏈接
由Oracle提供的驅動。
Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
受信鏈接
Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;
Oracle.DataAccess.Client.OracleConnection
標準
Data Source=TORCL;User Id=myUsername;Password=myPassword;
標準安全鏈接
Data Source=TORCL;Integrated Security=SSPI;
使用ODP.NET而不使用tnsnames.ora
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;
OracleConnection, Oracle Data Provider, ODP.NET, System.Data.OracleClient.OracleConnection
標準
Data Source=MyOracleDB;Integrated Security=yes;
用於8i RC3及之後的版本
指定用戶名和密碼
Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Integrated Security=no;
用於8i RC3及之後的版本
忽略tnsnames.ora
另外一種不須要使用DSN的鏈接方式。
SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));uid=myUsername;pwd=myPassword;
使用上面的鏈接字符串可能會致使Visual Studio報告錯誤,若是您在使用中出現了這些問題,請使用下面的這種鏈接方式。
Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;
使用鏈接池
若是鏈接池服務程序找不到已經存在的鏈接池,它將根據鏈接字符串建立一個新的池,不然將循環使用池中已存在的鏈接。
Data Source=myOracleDB;User Id=myUsername;Password=myPassword;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;
Windows身份驗證
Data Source=myOracleDB;User Id=/;
特權鏈接
使用SYSDBA
Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSDBA;
特權鏈接
使用SYSOPER
Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSOPER;
密碼過時處理過程
當使用一個鏈接字符串鏈接數據庫後,出現「密碼已過時」的錯誤時,請執行OpenWithNewPassword命令來提供新密碼。
Data Source=myOracleDB;User Id=myUsername;Password=myPassword;
oConn.OpenWithNewPassword(sTheNewPassword);
Proxy驗證
Data Source=myOracleDB;User Id=myUsername;Password=myPassword;Proxy User Id=pUserId;Proxy Password=pPassword;
Core Labs OraDirect (.NET)
Standard
User ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;
Data Shape
MS Data Shape
Provider=MSDataShape.1;Persist Security Info=False;Data Provider=MSDAORA;Data Source=orac;User Id=myUsername;Password=myPassword;
________________________________________
4、Access
________________________________________
ODBC
標準安全策略
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;
工做組
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;SystemDB=C:\mydatabase.mdw;
獨佔模式
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Exclusive=1;Uid=admin;Pwd=;
管理員模式
若是您須要在程序中使用 CREATE USER, CREATE GROUP, ADD USER, GRANT, REVOKE 和DEFAULTS等命令,您就須要使用此鏈接字符串。
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;ExtendedAnsiSQL=1;
OLE DB, OleDbConnection (.NET)
標準安全策略
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;
使用數據庫密碼
若是您的Access數據庫設置了密碼,您就須要參照以下鏈接字符串將密碼寫入後纔可以正常使用。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;
工做組(系統數據庫)
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw;
工做組(系統數據庫)而且制定用戶名和密碼
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:System Database=system.mdw;User ID=myUsername;Password=myPassword;
________________________________________
5、DBF / FoxPro
________________________________________
如下字符串以及實例將告訴您如何鏈接到 DBF / FoxPro.
若是您使用的是 2.x DBF,您沒必要使用dBase或者Jet driver,使用"Visual FoxPro / FoxPro 2.x"替換VFP driver。Visual FoxPro ODBC和OLEDB驅動能夠用於全部的Foxpro數據表,其中包括很老的foxbase數據表以及dBaseII, dBaseIII, Clipper文件等。
ODBC
標準
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\mydbpath;
遠程驅動
Driver={Microsoft dBase Driver (*.dbf)};datasource=dBase Files;
SQL表達式: "select * from \\remotemachine\thefile.dbf"
OLE DB, OleDbConnection (.NET)
標準
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder;Extended Properties=dBASE IV;User ID=Admin;Password=;
________________________________________
6、Excel
________________________________________
ODBC
標準
Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;DefaultDir=c:\mypath;
SQL表達式"SELECT * FROM [sheet1$]"。例如:在excel工做表名稱後面跟"$"字符而且使用"[" "]"將其括起來。
OLE DB
標準
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
請注意!
字符串中的引號 " 須要根據您使用的語言來進行轉義。例如:
c#, c++ \"
VB6, VBScript ""
xml (web.config等) "
或者您也能夠直接使用單引號 ' 。
"HDR=Yes;" 表示工做表的第一行是表頭,沒有數據。 "HDR=No;"與之相反。
"IMEX=1;"告訴驅動程序始終將"intermixed"數據類型(numbers, dates, strings等等)做爲文本型讀取。注意:該選項可能引發Excel工做表寫權限的修改。
SQL表達式"SELECT * FROM [sheet1$]"。例如:在excel 工做表名稱後面跟字符"$"而且適用"[" "]"括起來。
________________________________________
7、Visual FoxPro / FoxPro 2.x
________________________________________
OLE DB, OleDbConnection (.NET)
Database container (.DBC)
Provider=vfpoledb.1;Data Source=C:\MyDbFolder\MyDbContainer.dbc;Collating Sequence=machine;
Free table directory
Provider=vfpoledb.1;Data Source=C:\MyDataDirectory\;Collating Sequence=general;
Force the provider to use an ODBC DSN
Provider=vfpoledb.1;DSN=MyDSN;
ODBC
Database container (.DBC)
Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c:\myvfpdb.dbc;Exclusive=No; NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO;
Note that DELETED=NO will cause the driver to include deleted rows in the resultset. To not retrieve deleted rows specify DELETED=YES. The terminology is a bit confusing here, a more appropriate keyword would have been IGNORE DELETED instead of DELETED.
Free Table directory
Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=c:\myvfpdbfolder;Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;
Note that DELETED=NO will cause the driver to include deleted rows in the resultset. To not retrieve deleted rows specify DELETED=YES. The terminology is a bit confusing here, a more appropriate keyword would have been IGNORE DELETED instead of DELETED.
________________________________________
8、Textfile
________________________________________
ODBC
Standard
Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\txtFilesFolder\;Extensions=asc,csv,tab,txt;
OLE DB
Delimited columns
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;Extended Properties="text;HDR=Yes;FMT=Delimited";
The delimiter can be specified in the registry at the following location:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Jet \ 4.0 \ Engines \ Text
"Format" = "TabDelimited"
or
"Format" = "Delimited(;)"
Fixed length columns
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;Extended Properties="text;HDR=Yes;FMT=Fixed";
"HDR=Yes;" indicates that the first row contains columnnames, not data. "HDR=No;" indicates the opposite.
To specify each columns length use the Schema.ini file. See description below.
Important note!
The quota " in the string needs to be escaped using your language specific escape syntax.
c#, c++ \"
VB6, VBScript ""
xml (web.config etc) "
or maybe use a single quota '.
Schema.ini
_
The schema information file tells the driver about the format of the text files. The file is always located in the same folder as the text files and must be named schema.ini.
[customers.txt]
Format=TabDelimited
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI
[orders.txt]
Format=Delimited(;)
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI
[invoices.txt]
Format=FixedLength
ColNameHeader=False
Col1=FieldName1 Integer Width 15
Col2=FieldName2 Date Width 15
Col3=FieldName3 Char Width 40
Col4=FieldName4 Float Width 20
CharacterSet=ANSI