資料庫的串連串(中文)

來源:互聯網
上載者:User
資料|資料庫|中文 在資料庫的各種應用程式開發中,串連資料庫是資料庫應用程式開發的第一步,同時也是最重要的一步。而對於不同的資料庫他們的串連模式各有不同,對應的串連串也不同。

Sql Server
· ODBC
o 標準串連(Standard Security):
"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地址,而且必須包括連接埠號碼
o 信任連接(Trusted connection): (Microsoft Windows NT 整合了安全性)
"Driver={SQL Server};Server=Aron1;Database=pubs;Trusted_Connection=yes;"
或者
"Driver={SQL Server};Server=Aron1;Database=pubs; Uid=;Pwd=;"
o 串連時彈出輸入使用者名稱和口令對話方塊:
Conn.Properties("Prompt") = adPromptAlways
Conn.Open "Driver={SQL Server};Server=Aron1;DataBase=pubs;"
· OLE DB, OleDbConnection (.NET)
o 標準串連(Standard Security):
"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"
o 信任連接(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;”
o 串連時彈出輸入使用者名稱和口令對話方塊:
Conn.Provider = "sqloledb"
Conn.Properties("Prompt") = adPromptAlways
Conn.Open "Data Source=Aron1;Initial Catalog=pubs;"
o 通過IP地址串連:
"Provider=sqloledb;Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;User ID=sa;Password=asdasd;"
(DBMSSOCN=TCP/IP代替Named Pipes, Data Source的末尾是需要使用的連接埠號碼(預設為1433))
· SqlConnection (.NET)
o 標準串連(Standard Security):
"Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"
或者
"Server=Aron1;Database=pubs;User ID=sa;Password=asdasd;Trusted_Connection=False"
(這兩個串連串的結果相同)
o 信任連接(Trusted connection):
"Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;"
或者
"Server=Aron1;Database=pubs;Trusted_Connection=True;"
(這兩個串連串的結果相同)
(可以用serverName\instanceName代替Data Source,取值為一個具體的SQLServer執行個體,但僅適用於 SQLServer2000)
o 通過IP地址串連:
"Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;User ID=sa;Password=asdasd;"
(DBMSSOCN=TCP/IP代替Named Pipes, Data Source的末尾是需要使用的連接埠號碼(預設為1433))
o SqlConnection串連的聲明:
C#:
using System.Data.SqlClient;
SqlConnection SQLConn = new SqlConnection();
SQLConn.ConnectionString="my connectionstring";
SQLConn.Open();

VB.NET:
Imports System.Data.SqlClient
Dim SQLConn As SqlConnection = New SqlConnection()
SQLConn.ConnectionString="my connectionstring"
SQLConn.Open()
· Data Shape
o MS Data Shape
"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=Aron1;Initial Catalog=pubs;User ID=sa;Password=asdasd;"
· 更多
o 如何定義使用哪個協議
§ 舉例:
"Provider=sqloledb;Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;User ID=sa;Password=asdasd;"
名稱 網路通訊協定庫
dbnmpntw Win32 Named Pipes
dbmssocn Win32 Winsock TCP/IP
dbmsspxn Win32 SPX/IPX
dbmsvinn Win32 Banyan Vines
dbmsrpcn Win32 Multi-Protocol (Windows RPC)
§ 重要提示
當通過SQLOLEDB提供者進行串連時使用以下文法:
Network Library=dbmssocn
但通過MSDASQL提供者進行串連時使用以下文法:
Network=dbmssocn
o 所有SqlConnection串連串屬性
§ 下表顯示了ADO.NET SqlConnection對象的所有串連串屬性. 其中大多數的屬性也在ADO中使用.所有屬性和描述來自於msdn.
名稱 預設值 描述
Application Name 應用程式名稱或者當沒有提供應用程式時為.Net SqlClient資料提供者
AttachDBFilename或者extended properties或者Initial File Name 主要檔案的名字,包括相關聯資料庫的全路徑。資料庫名字必須通過關鍵字'database'來指定。
Connect Timeout或者Connection Timeout 15 在中止串連請求,產生錯誤之前等待伺服器串連的時間(以秒為單位)
Connection Lifetime 0 當一個串連返回到串連池,目前時間與串連建立時間的差值,如果時間段超過了指定的串連存留時間,此串連就被破壞。它用於聚集設定中在運行伺服器和準備上線的伺服器之間強制Server Load Balancer。
Connection Reset 'true' 當串連從串連池移走時決定是否重設資料庫連接。當設定為'false'時用於避免獲得串連時的額外伺服器往複代價。
Current Language SQL Server語言記錄名稱
Data Source或Server或Address或Addr或Network Address 要串連的SQL Server執行個體的名字或者網路地址
Enlist 'true' 為真時,串連池自動列出建立線程的當前事務上下文中的串連。
Initial Catalog或Database 資料庫名
Integrated Security或者Trusted_Connection 'false' 串連是否為信任連接。其取值為'true', 'false'和'sspi'(等於'true').
Max Pool Size 100 串連池中允許的最大串連數
Min Pool Size 0 串連池中允許的最小串連數
Network Library或Net 'dbmssocn' 網路程式庫用於建立與一個 SQL Server執行個體的串連。值包括dbnmpntw (具名管道), dbmsrpcn (多協議), dbmsadsn (Apple Talk), dbmsgnet (VIA), dbmsipcn (共用記憶體) 和 dbmsspxn (IPX/SPX), 和 dbmssocn (TCP/IP). 所串連的系統必須安裝相應的動態連結程式庫。如果你沒有指定網路,當你使用一個局部的伺服器 (例如, "." 或者 "(local)"),將使用共用記憶體
Packet Size 8192 與 SQL Server的一個執行個體通訊的網路包位元組大小
Password-或Pwd SQL Server帳戶登入口令
Persist Security Info 'false' 設定為'false',當串連已經開啟或者一直處於開啟狀態時,敏感性的安全資訊 (如口令)不會返回作為串連的一部分資訊。
Pooling 'true' 為真時,從合適的串連池中取出SQLConnection對象,或者必要時建立SQLConnection對象並把它增加到合適的串連池中。
User ID SQL Server登入使用者
Workstation ID the local computer name 串連到SQL Server的工作站名稱
§ 注意:
使用分號分隔每個屬性
如果一個名字出現多於兩次,在串連串中的最後一次出現的值將被使用。
如果你通過在應用中由使用者輸入欄位的值來構建串連串,你必須保證使用者不會通過使用者值裡的另一個值插入到一個額外的屬性來改變串連串。
Access
· ODBC
o 標準串連(Standard Security):
"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;"
o 組(系統資料庫)串連 (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();
}
o 獨佔方式(Exclusive):
"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Exclusive=1;Uid=admin;Pwd="
· OLE DB, OleDbConnection (.NET)
o 標準串連(Standard Security):
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;User Id=admin;Password=;"
o 組串連 (系統資料庫)
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;Jet OLEDB:System Database=system.mdw;","admin", ""
o 帶口令的串連:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;Jet OLEDB:Database Password=MyDbPassword;","admin", ""
· Oracle
· ODBC
o 新版本:
"Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;"
o 舊版本:
"Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;"
· OLE DB, OleDbConnection (.NET)
o 標準串連(Standard Security):
"Provider=msdaora;Data Source=MyOracleDB;User Id=UserName;Password=asdasd;"
這是Microsoft的格式, 下面是Oracle的格式(提供者不同)
"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=Username;Password=asdasd;"
注意:"Data Source=" 必鬚根據相應的命名方法設定為Net8名稱。例如對於局部命名,它是tnsnames.ora中的別名,對於Oracle命名,它是Net8網路服務名
o 信任連接(Trusted Connection):
"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;"
或者設定user ID為 "/"
"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=/;Password=;"
· OracleConnection (.NET)
o 標準串連:
"Data Source=Oracle8i;Integrated Security=yes";
這隻對Oracle 8i release 3或更高版本有效
o OracleConnection聲明:
C#:
using System.Data.OracleClient;
OracleConnection OracleConn = new OracleConnection();
OracleConn.ConnectionString = "my connectionstring";
OracleConn.Open();

VB.NET:
Imports System.Data.OracleClient
Dim OracleConn As OracleConnection = New OracleConnection()
OracleConn.ConnectionString = "my connectionstring"
OracleConn.Open()
· Data Shape
o MS Data Shape:
"Provider=MSDataShape.1;Persist Security Info=False;Data Provider=MSDAORA;Data Source=orac;user id=username;password=mypw"
· MySQL
· ODBC
o 本機資料庫:
"Driver={mySQL};Server=mySrvName;Option=16834;Database=mydatabase;"
Sever參數也可以使用localhost作為其值
o 遠端資料庫:
"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 增加一些額外的安全性檢查
如果你需要許多選項,你應該把以上標誌相加。
· OLE DB, OleDbConnection (.NET)
o 標準串連:
"Provider=MySQLProv;Data Source=mydb;User Id=UserName;Password=asdasd;"
Data Source是MySQL資料庫的名字,也可以使用server=localhost;DB=test
· MySqlConnection (.NET)
o eInfoDesigns.dbProvider:
"Data Source=server;Database=mydb;User ID=username;Password=pwd;Command Logging=false"
只適用於 eInfoDesigns dbProvider, 附加到 .NET
o MySqlConnection的聲明:
C#:
using eInfoDesigns.dbProvider.MySqlClient;
MySqlConnection MySqlConn = new MySqlConnection();
MySqlConn.ConnectionString = "my connectionstring";
MySqlConn.Open();

VB.NET:
Imports eInfoDesigns.dbProvider.MySqlClient
Dim MySqlConn As MySqlConnection = New MySqlConnection()
MySqlConn.ConnectionString = "my connectionstring"
MySqlConn.Open()
· Interbase
· ODBC, Easysoft
o 本機電腦:
"Driver={Easysoft IB6 ODBC};Server=localhost;Database=localhost:C:\mydatabase.gdb;Uid=username;Pwd=password"
o 遠端電腦:
"Driver={Easysoft IB6 ODBC};Server=ComputerName;Database=ComputerName:C:\mydatabase.gdb;Uid=username;Pwd=password"
· ODBC, Intersolv
o 本機電腦:
"Driver={INTERSOLV InterBase ODBC Driver (*.gdb)};Server=localhost;Database=localhost:C:\mydatabase.gdb;Uid=username;Pwd=password"
o 遠端電腦:
"Driver={INTERSOLV InterBase ODBC Driver (*.gdb)};Server=ComputerName;Database=ComputerName:C:\mydatabase.gdb;Uid=username;Pwd=password"
這個磁碟機現在由 DataDirect Technologies來提供 (以前由Intersolv提供)
· OLE DB, SIBPROvider
o 標準串連:
"provider=sibprovider;location=localhost:;data source=c:\databases\gdbs\mygdb.gdb;user id=SYSDBA;password=masterkey"
o 指定字元集:
"provider=sibprovider;location=localhost:;data source=c:\databases\gdbs\mygdb.gdb;user id=SYSDBA;password=masterkey;character set=ISO8859_1"
o 指定角色:
"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
· IBM DB2
· OLE DB, OleDbConnection (.NET) from ms
o 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"
o 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
· ODBC
" Driver={Client Access ODBC Driver (32-bit)};System=myAS400;Uid=myUsername;Pwd=myPassword"
· OLE DB, OleDbConnection (.NET)
"Provider=IBMDA400;Data source=myAS400;User Id=myUsername;Password=myPassword;"
· Sybase
· ODBC
o Sybase System 12 (或 12.5) Enterprise Open Client標準串連:
"Driver={SYBASE ASE ODBC Driver};Srvr=Aron1;Uid=username;Pwd=password"
o Sybase System 11標準串連:
"Driver={SYBASE SYSTEM 11};Srvr=Aron1;Uid=username;Pwd=password;"
o Intersolv 3.10:
"Driver={INTERSOLV 3.10 32-BIT Sybase};Srvr=Aron1;Uid=username;Pwd=password;"
o 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錯誤。
· OLE DB
o Adaptive Server Anywhere (ASA):
"Provider=ASAProv;Data source=myASA"
o Adaptive Server Enterprise (ASE)(帶資料來源為.IDS檔案):
"Provider=Sybase ASE OLE DB Provider; Data source=myASE"
注意你必須使用資料管理器來建立一個資料來源.IDS檔案.這些.IDS 檔案類似於ODBC DSNs.
Visual FoxPro(dBASE)
· ODBC
o dBASE:
" Driver={Microsoft dBASE Driver (*.dbf)}; DriverID=277;Dbq=c:\\DatabasePath"
注意在書寫sql語句時必須指定檔案名稱(如“Select Name, Address From Clients.dbf”).
o Visual Foxpro(有資料庫容器):
" Driver={Microsoft Visual Foxpro Driver};UID=; SourceType=DBC;SourceDB=C:\\DatabasePath\\MyDatabase.dbc;Exclusive=No "
o Visual Foxpro(無資料庫容器):
" Driver={Microsoft Visual Foxpro Driver};UID=; SourceType=DBF;SourceDB=C:\\DatabasePath\\MyDatabase.dbc;Exclusive=No"
· OLE DB, OleDbConnection (.NET)
o 標準串連:
"Provider=vfpoledb;Data Source=C:\\DatabasePath\\MyDatabase.dbc;"
Excel
· ODBC
o 標準串連(Standard Security):
" Driver={Microsoft Excel Driver (*.xls)};DriverId=790; Dbq =C:\\DatabasePath\\DBSpreadSheet.xls;DefaultDir=c:\\databasepath;"
· OLE DB Provider for Microsoft Jet
o 標準串連(Standard Security):
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\DatabasePath\\DBSpreadSheet.xls;Extended Properties=\"\"Excel 8.0;HDR=Yes;\"\";"
注意:如果"HDR=Yes",那麼提供者不會在記錄集中包括選擇的第一行,如果,那麼提供者將在記錄集中包括單元範圍(或已經命名範圍)的第一行
Text
· ODBC
o 標準串連(Standard Security):
" 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")
· OLE DB Provider for Microsoft Jet
o 標準串連(Standard Security):
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\DatabasePath\\;Extended Properties=\"\"text;"HDR=Yes;FMT=Delimited;\"\";"
注意在書寫sql語句時必須指定檔案名稱(如“Select Name, Address From Clients.txt”).
ODBC DSN
" DSN=MyDSN;Uid=MyUsername;Pwd=MyPassword;"
OLE DB Provider for ODBC Databases
串連Access:
"Provider=MSDASQL;Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\\DatabasePath\\MyDatabase.mdb;Uid=MyUsername;Pwd=MyPassword;"
串連SQL Server:
"Provider=MSDASQL;Driver={SQL Server};Server=MyServerName;Database=MyDatabaseName;Uid=MyUsername;Pwd=MyPassword;"
使用DSN進行串連:
"Provider=MSDASQL;PersistSecurityInfo=False;Trusted_Connection=Yes;Data Source=MyDSN;catalog=MyDatabase;"
OLE DB Provider for OLAP
"Provider=MSOLAP;Data Source=MyOLAPServerName;Initial Catalog=MyOLAPDatabaseName;"
通過http串連:
這個特徵允許用戶端應用程式通過在用戶端應用程式連接字串的Data Source參數中指定一個URL並使用IIS串連到一個分析伺服器。這種串連方法允許PivotTable服務通過防火牆或者Proxy 伺服器串連到分析伺服器。一個特殊的ASP頁面Msolap.asp通過IIS進行串連。當串連到伺服器時,這個檔案一定在這個目錄中並且作為URL的一部分(例如http://www.myserver.com/myolap/)。
使用url串連:
"Provider=MSOLAP;Data Source=http://MyOLAPServerName/;Initial Catalog=MyOLAPDatabaseName;"
使用ssl串連:
"Provider=MSOLAP;Data Source=https://MyOLAPServerName/;Initial Catalog=MyOLAPDatabaseName;"
OLE DB Provider for Active Directory
"Provider=ADSDSOObject;User Id=myUsername;Password=myPassword;"
OLE DB Provider for Index Server
"provider=msidxs;Data Source=MyCatalog;"
OLE DB Data Link Connections
"File Name=c:\\DataBasePath\\DatabaseName.udl;"
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;"


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。