SQL Server資料庫連接字串的組成

來源:互聯網
上載者:User

標籤:

DB驅動程式
常見的驅動程式如下:

  • ODBC

  ODBC(Open Database Connectivity,開放資料庫互連)是微軟公司開放服務結構(WOSA,Windows Open Services Architecture)中有關資料庫的一個組成部分,它建立了一組規範,並提供了一組對資料庫訪問的標準API(API)。這些API利用SQL來完成其大部分任務。ODBC本身也提供了對SQL語言的支援,使用者可以直接將SQL語句送給ODBC。

  • OLE DB

  OLE DB 是 Microsoft 的一個戰略性系統級編程介面,用於管理整個組織內的資料。OLE DB 是建立在 ODBC 功能之上的一個開放規範。ODBC 是為訪問關係型資料庫而專門開發的,OLE DB 則用於訪問關係型和非關係型資訊源,例如主機 ISAM/VSAM 和層次資料庫,電子郵件和檔案系統儲存,文本、圖形和地理資料以及自訂業務對象。OLE DB 定義了一組 COM 介面,對各種資料庫管理系統服務進行封裝,並允許建立軟體組件,實現這些服務。OLE DB 組件包括資料提供者(包含和表現資料)、資料使用者(使用資料)和服務元件(處理和傳送資料,例如,查詢處理器和遊標引擎)。OLE DB 介面有助於平滑地整合組件,這樣,OLE DB 組件廠商就可以快速地向市場提供高品質 OLE DB 組件。此外,OLE DB 包含了一個串連 ODBC 的“橋樑”,對現用的各種 ODBC 關係型資料庫驅動程式提供一貫的支援。

  • JDBC

  JDBC(Java Data Base Connectivity,java資料庫連接)是一種用於執行SQL語句的Java API,可以為多種關聯式資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。JDBC提供了一種基準,據此可以構建更進階的工具和介面,使資料庫開發人員能夠編寫資料庫應用程式,同時,JDBC也是個商標名。

比較

  目前,Microsoft 的 ODBC API 可能是使用最廣的、用於訪問關聯式資料庫的編程介面。它能在幾乎所有平台上串連幾乎所有的資料庫。為什麼 Java 不使用 ODBC?對這個問題的回答是:Java 可以使用 ODBC,但最好是在 JDBC 的協助下以JDBC-ODBC橋的形式使用,這一點我們稍後再說。現在的問題已變成:”為什麼需要 JDBC”?答案是顯然的:ODBC 不適合直接在 Java 中使用,因為它使用 C 語言介面。從Java 調用本地 C代碼在安全性、實現、堅固性和程式的自動移植性方面都有許多缺點。從 ODBC C API 到 Java API 的字面翻譯是不可取的。例如,Java 沒有指標,而 ODBC 卻對指標用得很廣泛(包括很容易出錯的指標”void *”)。您可以將 JDBC 想象成被轉換為物件導向介面的 ODBC,而物件導向的介面對 Java程式員來說較易於接受。
   ODBC 很難學。它把簡單和進階功能混在一起,而且即使對於簡單的查詢,其選項也極為複雜。相反,JDBC 盡量保證簡易功能的簡便性,而同時在必要時允許使用進階功能。啟用”純 Java “機制需要象 JDBC 這樣的 Java API。如果使用ODBC,就必須手動地將 ODBC 驅動程式管理器和驅動程式安裝在每台客戶機上。如果完全用 Java 編寫 JDBC 驅動程式則 JDBC代碼在所有 Java 平台上(從網路電腦到大型主機)都可以自 動安裝、移植並保證安全性。
   總之,JDBC API 對於基本的 SQL 抽象和概念是一種自然的 Java 介面。它建立在 ODBC 上而不是從零開始。因此,熟悉 ODBC 的程式員將發現 JDBC 很容易使用。JDBC 保留了 ODBC 的基本設計特徵;事實上,兩種介面都基於 X/Open SQL CLI(調用級介面)。它們之間最大的區別在於:JDBC 以 Java 風格與優點為基礎並進行最佳化,因此更加便於使用。
   目前,Microsoft 又引進了 ODBC 之外的新 API: RDO、 ADO 和OLE DB。這些設計在許多方面與 JDBC 是相同的,即它們都是物件導向的資料庫介面且基於可在 ODBC 上實現的類。但在這些介面中,我們未看見有特別的功能使我們要轉而選擇它們來替代 ODBC,尤其是在 ODBC 驅動程式已建立起較為完善的市場的情況下。它們最多也就是在 ODBC 上加了一種裝飾而已。

資料庫連結字串大全

SQL Server

  • SQL Native Client ODBC Driver

標準安全連線
 Driver={SQL Native Client};Server=myServerAddress; Database=myDataBase;Uid=myUsername;Pwd=myPassword;

受信的串連
 Driver={SQL Native Client}; Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
 “Integrated Security=SSPI” 與 “Trusted_Connection=yes” 是相同的。

串連到一個SQL Server執行個體
 指定伺服器執行個體的運算式和其他SQL Server的連接字串相同。
Driver={SQL Native Client};Server=myServerName/theInstanceName;Database=myDataBase; Trusted_Connection=yes;

指定使用者名稱和密碼
 oConn.Properties(“Prompt”) = adPromptAlways Driver={SQL Native Client}; Server=myServerAddress;Database=myDataBase;

使用MARS (multiple active result sets)
 Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase; Trusted_Connection=yes;MARS_Connection=yes;
 “MultipleActiveResultSets=true”與MARS_Connection=yes”是相同的。
 使用ADO.NET 2.0作為MARS的模組。 MARS不支援ADO.NET 1.0和ADO.NET 1.1。

驗證網路資料
 Driver={SQL Native Client}; Server=myServerAddress;Database=myDataBase; Trusted_Connection=yes;Encrypt=yes;

使用附加本機資料庫檔案的方式串連到本地SQL Server Express執行個體
 Driver={SQL Native Client};Server=./SQLExpress; AttachDbFilename=c:/asd/qwe/mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;
 為何要使用Database參數?如果同名的資料庫已經被附加,那麼SQL Server將不會重新附加。

使用附加本機資料檔案夾中的資料庫檔案的方式串連到本地SQL Server Express執行個體
 Driver={SQL Native Client};Server=./SQLExpress; AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname; Trusted_Connection=Yes;
 為何要使用Database參數?如果同名的資料庫已經被附加,那麼SQL Server將不會重新附加。

資料庫鏡像
 Data Source=myServerAddress; Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;

 

  • SQL Native Client OLE DB Provider

標準串連
 Provider=SQLNCLI;Server=myServerAddress; Database=myDataBase;Uid=myUsername;Pwd=myPassword;

受信的串連
 Provider=SQLNCLI;Server=myServerAddress; Database=myDataBase;Trusted_Connection=yes;

串連到SQL Server執行個體
 指定伺服器執行個體的運算式和其他SQL Server的連接字串相同。
 Provider=SQLNCLI;Server=myServerName/theInstanceName; Database=myDataBase;Trusted_Connection=yes;

使用帳號和密碼
 oConn.Properties(“Prompt”) = adPromptAlways oConn.Open “Provider=SQLNCLI;Server=myServerAddress;DataBase=myDataBase;

使用MARS (multiple active result sets)
 Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;MarsConn=yes;
 “MultipleActiveResultSets=true”和”MARS_Connection=yes”是相同的。
 使用ADO.NET 2.0作為MARS的模組。 MARS不支援ADO.NET 1.0和ADO.NET 1.1。

驗證網路資料
 Provider=SQLNCLI;Server=myServerAddress; Database=myDataBase;Trusted_Connection=yes;Encrypt=yes;

使用附加本機資料庫檔案的方式串連到本地SQL Server Express執行個體

Provider=SQLNCLI;Server=./SQLExpress;AttachDbFilename=c:/asd/qwe/mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

使用附加本機資料檔案夾中的資料庫檔案的方式串連到本地SQL Server Express執行個體

Provider=SQLNCLI;Server=./SQLExpress; AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

資料庫鏡像
 Data Source=myServerAddress;Failover Partner=myMirrorServer; Initial Catalog=myDataBase;Integrated Security=True;

 

  • 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;

串連到一個SQL Server的執行個體
 指定伺服器執行個體的運算式和其他SQL Server的連接字串相同。
 Server=myServerName/theInstanceName;Database=myDataBase;Trusted_Connection=True;

來自WinCE裝置的安全連線
 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;

使用MARS (multiple active result sets)
 Server=myServerAddress;Database=myDataBase;Trusted_Connection=True; MultipleActiveResultSets=true;
 使用ADO.NET 2.0作為MARS的模組。 MARS不支援ADO.NET 1.0和ADO.NET 1.1。

使用附加本機資料庫檔案的方式串連到本地SQL Server Express執行個體
 Server=./SQLExpress;AttachDbFilename=c:/asd/qwe/mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

使用附加本機資料檔案夾中的資料庫檔案的方式串連到本地SQL Server Express執行個體
 Server=./SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

使用在SQL Server Express執行個體上的使用者執行個體
 Data Source=./SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|/mydb.mdf;User Instance=true;

資料庫鏡像
 Data Source=myServerAddress;Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;

Asynchronous processing
 Server=myServerAddress; Database=myDataBase; Integrated Security=True; Asynchronous Processing=True;

 

SQL Server資料庫連接字串的組成

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.