各主要資料庫的串連串
將串連方式分為兩大類,一類是OLEDB方式,一類是ODBC方式。收集了一段時間,整理出來,歡迎補充和修正。謝謝。
ADO.NET方式的串連與ADO類似,這裡不加整理。
資料庫連接串:
****A.OLEDB方式:
1.Oracle
標準串連(Standard Security):
"Provider=msdaora;Data Source=MyOracleDB;User Id=UserName;Password=asdasd; "
這是Microsoft的格式, 下面是Oracle的格式(提供者不同)
"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;UserId=Username;Password=asdasd; "
注意: "Data Source= " 必鬚根據相應的命名方法設定為Net8名稱。例如對於局部命名,它是tnsnames.ora中的別名,對於Oracle命 名,它是Net8網路服務名。
信任連接(Trusted Connection):
"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1; "
或者設定user ID為 "/ "
"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=/;Password=; "
2.SQL Server
標準串連(Standard Security):
"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd; "
信任連接(Trusted connection):
"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI; "
(如果串連一個具體的已命名SQLServer執行個體,使用Data Source=Servere Name/Instance Name;但僅適用於
SQLServer2000)例 如: "Provider=sqloledb;Data
Source=MyServerName/MyInstanceName;Initial Catalog=MyDatabaseName;User
Id=MyUsername;Password=MyPassword; "
串連時彈出輸入使用者名稱和口令對話方塊:
Conn.Provider = "sqloledb "
Conn.Properties( "Prompt ") = adPromptAlways
Conn.Open "Data Source=Aron1;Initial Catalog=pubs; "
通過IP地址串連:
"Provider=sqloledb;Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;UserID=sa;Password=asdasd; "
(DBMSSOCN=TCP/IP代替Named Pipes, Data Source的末尾是需要使用的連接埠號碼(預設為1433))
3.Access
標準串連(Standard Security):
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=/somepath/mydb.mdb;User Id=admin;Password=; "
組串連 (系統資料庫)
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=/somepath/mydb.mdb;Jet OLEDB:System Database=system.mdw; ", "admin ", " "
帶口令的串連:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=/somepath/mydb.mdb;Jet OLEDB:Database Password=MyDbPassword; ", "admin ", " "
4.MySQL
標準串連:
"Provider=MySQLProv;Data Source=mydb;User Id=UserName;Password=asdasd; "
Data Source是MySQL資料庫的名字,也可以使用server=localhost;DB=test
5.DB2
OLE DB, OleDbConnection (.NET) from ms
TCP/IP:
"Provider=DB2OLEDB;Network Transport Library=TCPIP;Network
Address=XXX.XXX.XXX.XXX;Initial Catalog=MyCtlg;Package
Collection=MyPkgCol;Default Schema=Schema;User ID=MyUser;Password=MyPW "
APPC:
"Provider=DB2OLEDB;APPC Local LU Alias=MyAlias;APPC Remote LU
Alias=MyRemote;Initial Catalog=MyCtlg;Package
Collection=MyPkgCol;Default Schema=Schema;User ID=MyUser;Password=MyPW "
AS400
"Provider=IBMDA400;Data source=myAS400;User Id=myUsername;Password=myPassword; "
6.Excel
標準串連(Standard Security):
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:/DatabasePath/DBSpreadSheet.xls;Extended Properties=/ "/ "Excel
8.0;HDR=Yes;/ "/ "; "
注意:如果 "HDR=Yes ",那麼提供者不會在記錄集中包括選擇的第一行,如果,那麼提供者將在記錄集中包括單元範圍(或已經命名範 圍)的第一行
7.txt(.csv, .txt, .tab)
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/DatabasePath/;Extended
Properties=/ "/ "text; "HDR=Yes;FMT=Delimited; / "/ "; "
注意在書寫sql語句時必須指定檔案名稱(如 "Select Name, Address From Clients.txt ").
8.VFP(.dbc, .dbf)
標準串連:
"Provider=vfpoledb;Data Source=C:/DatabasePath/MyDatabase.dbc; "
或
"Provider=VFPOLEDB.1;Data Source=d:/temp;Password= " ";Collating Sequence=MACHINE "
9.Interbase
標準串連:
"provider=sibprovider;location=localhost:;data source=c:/databases/gdbs/mygdb.gdb;user id=SYSDBA;password=masterkey "
指定字元集:
"provider=sibprovider;location=localhost:;data
source=c:/databases/gdbs/mygdb.gdb;user
id=SYSDBA;password=masterkey;character set=ISO8859_1 "
指定角色:
"provider=sibprovider;location=localhost:;data
source=c:/databases/gdbs/mygdb.gdb;user
id=SYSDBA;password=masterkey;role=DIGITADORES "
" 需要瞭解更多請連結到Interbase的如下Borland開發人員網路文章 http://community.borland.com/article/0,1410,27152,00.html
10.Sybase
Adaptive Server Anywhere (ASA):
"Provider=ASAProv;Data source=myASA "
Adaptive Server Enterprise (ASE)(帶資料來源為.IDS檔案):
"Provider=Sybase ASE OLE DB Provider; Data source=myASE "
注意你必須使用資料管理器來建立一個資料來源.IDS檔案.這些.IDS 檔案類似於ODBC DSNs.
補充:
Outlook 2000 personal mail box
"Provider=Microsoft.Jet.OLEDB.4.0;Outlook 9.0;MAPILEVEL=;DATABASE=C:/Temp/; "
使用任何臨時檔案夾代替c:/temp。這將在那個檔案夾建立一個模式檔案,當你開啟它時,它會顯示可以得到的所有欄位。空的 mapilevel表明最高層的檔案夾。
Exchange mail box
"Provider=Microsoft.Jet.OLEDB.4.0;Exchange 4.0;MAPILEVEL=Mailbox - Pat Smith ¦DATABASE=C:/Temp/; "
使用任何臨時檔案夾代替c:/temp.
注意:你能象資料庫一樣對mail store輸入查詢
舉例: "SQL "SELECT Contacts.* FROM Contacts; "
****B.ODBC方式:
1.Oracle
新版本:
"Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd; "
舊版本:
"Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword; "
2.SQL Server
標準串連(Standard Security):
DRIVER=Sql Server;SERVER=電腦名稱或IP地址;UID=使用者名稱;PWD=密碼;APP=Microsoft Visual
FoxPro;WSID=電腦名稱或IP地址;DATABASE=資料庫名 &&完整串連串:具名管道方式
DRIVER=Sql Server;SERVER=電腦名稱或IP地址;UID=使用者名稱;PWD=密碼;DATABASE=資料庫名 &&串連串:具名管道方式
DRIVER=Sql Server;SERVER=電腦名稱或IP地址;UID=使用者名稱;PWD=密碼;APP=Microsoft Visual
FoxPro;WSID=電腦名稱或IP地址;DATABASE=資料庫名;Network=DBMSSOCN;Address=電腦名稱或IP地址,
1433 &&完整串連串:&TCP/IP方式
DRIVER=Sql
Server;SERVER=電腦名稱或IP地址;UID=使用者名稱;PWD=密碼;DATABASE=資料庫名;Network=DBMSSOCN;
Address=電腦名稱或IP地址,1433 &&串連串:&TCP/IP方式
"Driver={SQL Server};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd; "
1)當伺服器為本地時Server可以使用(local);
"Driver={SQL Server};Server=(local);Database=pubs;Uid=sa;Pwd=asdasd; "
2)當串連遠程伺服器時,需指定地址、連接埠號碼和網路程式庫
"Driver={SQL Server};Server=130.120.110.001;Address=130.120.110.001,1052;Network=dbmssocn;Database=pubs;Uid=sa;Pwd=asdasd; "
註:Address參數必須為IP地址,而且必須包括連接埠號碼
信任連接(Trusted connection): (Microsoft Windows NT 整合了安全性)
"Driver={SQL Server};Server=Aron1;Database=pubs;Trusted_Connection=yes; "
或者
"Driver={SQL Server};Server=Aron1;Database=pubs; Uid=;Pwd=; "
串連時彈出輸入使用者名稱和口令對話方塊:
Conn.Properties( "Prompt ") = adPromptAlways
Conn.Open "Driver={SQL Server};Server=Aron1;DataBase=pubs; "
3.Access
標準串連(Standard Security):
"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:/mydatabase.mdb;Uid=Admin;Pwd=; "
組(系統資料庫)串連 (Workgroup):
兩種方法分別為:在串連串或在開啟資料集中指定使用者名稱和口令
"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:/mydatabase.mdb;SystemDB=C:/mydatabase.mdw; ", "admin ", " " 或
if(pDB.Open( "Driver={Microsoft Access Driver
(*.mdb)};Dbq=C:/mydatabase.mdb;SystemDB=C:/mydatabase.mdw; ", " ",
"DatabaseUser ", "DatabasePass "))
{DoSomething();pDB.Close();}
獨佔方式(Exclusive):
"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:/mydatabase.mdb;Exclusive=1;Uid=admin;Pwd= "
4.MySQL
本機資料庫:
"Driver={mySQL};Server=mySrvName;Option=16834;Database=mydatabase; "
Sever參數也可以使用localhost作為其值
遠端資料庫:
"Driver={mySQL};Server=data.domain.com;Port=3306;Option=131072;Stmt=;Database=my- database;Uid=username;Pwd=password; "
Option值 取值的含義
1 用戶端不能處理MyODBC返回一列真實寬度的情況
2 用戶端不能處理MySQL返回影響的行的真實值的情況
如果設定此標誌,MySQL返回 'found rows '。 MySQL 3.21.14或更新版才會生效
4 在c:/myodbc.log中產生一個調試日誌。這與在`AUTOEXEC.BAT '中的設定MYSQL_DEBUG=d:t:O,c::/myodbc.log相同
8 對於結果和參數不設定任何包限制
16 不使磁碟機彈出問題
32 使用或去除動態資料指標支援。這在MyODBC 2.50中是不允許的
64 在 'database.table.column '中忽略資料庫名字的使用
128 強制使用ODBC管理器遊標
256 去除擴充取值(fetch)的使用
512 充滿char欄位滿長度
1024 SQLDescribeCol()函數返回完全滿足條件的列名
2048 使用壓縮的伺服器/用戶端協議
4096 告訴伺服器在函數後和 '( '前忽略空格 (PowerBuilder需要)。這將產生所有函數名關鍵詞
8192 使用具名管道串連運行在NT上的Mysqld伺服器
16384 將LONGLONG列改為INTl列(有些應用不能處理LONGLONG列)
32768 從SQLTables中返回 'user '作為Table_qualifier和Table_owner
66536 從用戶端讀參數,從`my.cnf '讀ODBC群
131072 增加一些額外的安全性檢查
5.DB2
AS400
" Driver={Client Access ODBC Driver (32-bit)};System=myAS400;Uid=myUsername;Pwd=myPassword "
6.Excel
標準串連(Standard Security):
" Driver={Microsoft Excel Driver (*.xls)};DriverId=790; Dbq =C:/DatabasePath/DBSpreadSheet.xls;DefaultDir=c: /databasepath; "
7.txt(.csv, .txt, .tab)
" Driver={Microsoft Text Driver (*.txt; *.csv)}; Dbq=C:/DatabasePath/;Extensions=asc,csv,tab,txt; "
如果文字檔使用tab作為分隔字元,你必須建立schema.ini檔案,你必須在串連串中使用Format=TabDelimited選項。
注意:你必須在sql語句中指定檔案名稱(例如 "Select Name, Address From Clients.csv ")
8.VFP(.dbc, .dbf)
dBASE:
" Driver={Microsoft dBASE Driver (*.dbf)}; DriverID=277;Dbq=c:/DatabasePath "
注意在書寫sql語句時必須指定檔案名稱(如 "Select Name, Address From Clients.dbf ").
Visual Foxpro(有資料庫容器):
" Driver={Microsoft Visual Foxpro Driver};UID=; SourceType=DBC;SourceDB=C:/DatabasePath/MyDatabase.dbc;Exclusive=No "
Visual Foxpro(無資料庫容器):
" Driver={Microsoft Visual Foxpro Driver};UID=; SourceType=DBF;SourceDB=C:/DbfPath/MyDdbf.dbf;Exclusive=No "
Driver={Microsoft Visual FoxproDriver};
SourceType=DBF;SourceDB=//192.168.0.1/temp;
Exclusive=No;Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO "
9.Interbase
ODBC, Easysoft
本機電腦:
"Driver={Easysoft IB6 ODBC};Server=localhost;Database=localhost:C:/mydatabase.gdb;Uid=username;Pwd=password "
遠端電腦:
"Driver={Easysoft IB6 ODBC};Server=ComputerName;Database=ComputerName:C:/mydatabase.gdb;Uid=username;Pwd=password "
" ODBC, Intersolv
本機電腦:
"Driver={INTERSOLV InterBase ODBC Driver
(*.gdb)};Server=localhost;Database=localhost:C:/mydatabase.gdb;Uid=username;Pwd=password
"
遠端電腦:
"Driver={INTERSOLV InterBase ODBC Driver
(*.gdb)};Server=ComputerName;Database=ComputerName:C:/mydatabase.gdb;Uid=username;Pwd=password
"
這個磁碟機現在由 DataDirect Technologies來提供 (以前由Intersolv提供)
10.Sybase
Sybase System 12 (或 12.5) Enterprise Open Client標準串連:
"Driver={SYBASE ASE ODBC Driver};Srvr=Aron1;Uid=username;Pwd=password "
Sybase System 11標準串連:
"Driver={SYBASE SYSTEM 11};Srvr=Aron1;Uid=username;Pwd=password; "
Intersolv 3.10:
"Driver={INTERSOLV 3.10 32-BIT Sybase};Srvr=Aron1;Uid=username;Pwd=password; "
Sybase SQL Anywhere (以前為Watcom SQL ODBC driver):
"ODBC; Driver=Sybase SQL Anywhere 5.0; DefaultDir=c:/dbfolder/;Dbf=c:/mydatabase.db;Uid=username;Pwd=password;Dsn= " " " " "
注意: 對於在末尾緊跟著DSN 參數被引用的雙引號(VB文法), 你必須改變符合你所使用的語言所指定的引用符號文法。DSN參數為空白 實際上非常重要,如果不包括的話將導致7778錯誤。
出處:http://www.cnblogs.com/cailinaaa/archive/2009/01/12/1373932.html
(連結中的文章也是轉載他人的,沒去深入尋找真正的出處)