文章編號: 309485 - 上次校閱: 2007年11月28日 - 版次: 3.3

如何: 使用 Visual Basic.NET 建立以程式設計方式在 ADO.NET 中的連接字串

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
警告 在 ADO 和 ADO MD 有不被完全環境中測試 Microsoft.NET Framework。它們可能會導致間歇性問題,特別是在服務為基礎的應用程式或在多執行緒應用程式中。本文中討論的技術應該只用於為暫時的量值 ADO.NET 的移轉過程。之後您有進行完整的測試,以確定是沒有相容性問題,您應該只使用這些技巧。利用這種方式中的 ADO 或 ADO MD 造成的問題是不受支援。如需詳細資訊請參閱下列的 「 Microsoft 知識庫 」 中的文件:
840667 ? (http://support.microsoft.com/kb/840667/ ) 在.NET Framework 應用程式中使用 ADO 和 ADO MD 時,您會收到未預期的錯誤

在此頁中

全部展開 | 全部摺疊

結論

本文將逐步告訴您,如何使用 資料連結屬性] 對話方塊,在設計階段以程式設計方式建立連接字串。

需求

下列清單列出建議的硬體、 軟體、 網路基礎結構及您需要的服務套件:
  • Microsoft Windows 2000 專業版、 Windows 2000 Server Windows 2000 進階伺服器或 Windows NT 4.0 伺服器
  • Microsoft Visual Studio.NET
本文假設您已熟悉下列主題:
  • Visual Studio.NET
  • ADO.NET 基本原則及語法
  • ActiveX 資料物件 (ADO) 基本原理和語法

建立 ADO 連線

使用 ADO 建立連線時資料連結會建立一個標準的 ADODB 連線 物件。
  1. 啟動 Visual 的 Studio.NET,並在 Visual Basic.NET 中建立 Windows 應用程式。預設會建立 Form1。
  2. 專案] 功能表按一下 [加入參考],],然後再加入下列參考]:

    • Microsoft ActiveX 資料物件 2.7
    • Microsoft OLEDB 服務元件 1.0 型別程式庫

    注意: 按一下 [參考] 對話方塊中的 [確定] 之後可能會出現下列的錯誤訊息:
    找不到主要 Interop 組件的 COM 元件 'Microsoft OLE DB 服務元件 1.0 類型程式庫'。未註冊此型別程式庫的主要 Interop 組件。您要有為您產生的包裝函式嗎?
    錯誤訊息中,請按一下 [是]
  3. 按鈕 控制項加入至 Form1。
  4. 將下列程式碼加入至 Button1_Click 事件:
    Dim mydlg As New MSDASC.DataLinks()
    Dim ADOcon As New ADODB.Connection()
    
    ADOcon = mydlg.PromptNew
    ADOcon.Open()
    
    If ADOcon.State = 1 Then
          MsgBox("Connection Opened")
    Else
          MsgBox("Connection Failed")
    End If
  5. 按下 F5] 鍵,然後再按一下 [Button1]。
  6. 在 [資料連結屬性] 對話方塊鍵入適當的資訊,並請確定您選取 [允許儲存密碼] 核取方塊。
  7. 按一下 [測試連線
  8. 按一下 [確定]。如果連線測試成功的資料連結,建立資料庫連接,並顯示訊息方塊。

建立 OLE DB 連線

當您使用 OLE DB Managed 提供者在.NET 中來建立 OLE DB 連接時,您無法建立連線至 ODBC 資料來源。因為 ODBC.NET 中有它自己受管理的提供者,使用 [資料連結屬性] 對話方塊中的 [ODBC 驅動程式的 Microsoft OLEDB 提供者 選項如果接收到錯誤。在另外您必須載入 ADO 到應用程式,因為資料連結建立與 OleDbConnection 物件不相容的 ADODB 連線 物件。因此,您必須建立 ADODB 連線,並將其 ConnectionString 屬性指派給 OleDbConnection 物件才能正常運作的 ConnectionString 屬性。
  1. 啟動 Visual 的 Studio.NET,並在 Visual Basic.NET 中建立 Windows 應用程式。Form1 是根據預設值加入至專案。
  2. 專案] 功能表按一下 [加入參考],],然後再加入下列參考]:
    • Microsoft ActiveX 資料物件 2.7
    • Microsoft OLEDB 服務元件 1.0 型別程式庫

  3. 按鈕 控制項加入至 Form1。
  4. 如此一來您不需要限定在稍後的程式碼中的這個命名空間中宣告,請在 System.Data.OleDb 命名空間上使用 Imports 陳述式。您必須使用 Imports 陳述式至任何其他宣告之前:
    Imports System.Data.OleDb
  5. 將下列程式碼加入至 Button1_Click 事件:
    Dim mydlg As New MSDASC.DataLinks()
    Dim OleCon As New OleDbConnection()
    Dim ADOcon As New ADODB.Connection()
    
    ADOcon = mydlg.PromptNew
    OleCon.ConnectionString = ADOcon.ConnectionString
    
    OleCon.Open()
    
    If OleCon.State = 1 Then
        MsgBox("Connection Opened")
    Else
        MsgBox("Connection Failed")
    End If
  6. 按下 F5 鍵,然後再按一下 [Button1
  7. 在 [資料連結屬性] 對話方塊鍵入適當的資訊,並請確定您選取 [允許儲存密碼] 核取方塊。
  8. 按一下 [測試連線
  9. 按一下 [確定]。如果連線測試成功的資料連結,建立資料庫連接,並顯示訊息方塊。

其他資訊

它需要使用這個方法來建立 ODBC 連接,因為資料連結會建立連接字串,是特有的 OLE DB,而且與 ODBC Managed 提供者不相容的額外工作。這個工作必須剖析 ADODB 連接字串相關的資訊,例如使用者識別碼、 密碼和資料來源。取得這項資訊之後您可以使用它來建立的特定 ODBC 連接字串。請注意資料連結只使用 ODBC 資料來源名稱 (DSN) ; 因此,您無法建立透過資料連結的 DSN 的連接。

?考

如需詳細資訊按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
286189? (http://support.microsoft.com/kb/286189/EN-US/ ) HOWTO: 叫用 Visual Basic 程式碼中的 [OLE DB 資料連結屬性] 對話方塊
283245? (http://support.microsoft.com/kb/283245/EN-US/ ) HOWTO: 以程式設計的方式保存資料的連結
193128? (http://support.microsoft.com/kb/193128/EN-US/ ) HOWTO: 在 ADO 中建立 ODBC 和 OLEDB 連接提示控制項
如需更多有關的一般資訊 ADO.NET 或 Visual Basic.NET,請參閱下列 MSDN 新聞群組:
microsoft.public.dotnet.framework.adonet (http://go.microsoft.com/fwlink/?linkid=5819)

microsoft.public.dotnet.languages.vb (http://msdn.microsoft.com/newsgroups/default.aspx?query=microsoft.public.dotnet.framework.adonet&dg=&cat=en-us-msdn&lang=en&cr=US&pt=&catlist=774F24A2-F71F-425F-AC2B-DC48AB0DA5C9&dglist=&ptlist=&exp=&sloc=en-us)

如需詳細資訊請參閱下列書籍:
Ed Robinson Michael 債券劉小龍伊恩 • Oliver Upgrading Microsoft Visual Basic 6.0 to Microsoft Visual Basic .NET (http://msdn.microsoft.com/en-us/vbrun/ms788236.aspx)
如需詳細資訊請參閱下列 Microsoft 訓練 & 憑證課程:
Microsoft 公司 2389 Programming with ADO.NET (http://www.microsoft.com/learning/en/us/course.aspx?ID=2389B)

這篇文章中的資訊適用於:
  • Microsoft ADO.NET 1.1
  • Microsoft ADO.NET 1.0
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
關鍵字:?
kbmt kbhowtomaster KB309485 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:309485? (http://support.microsoft.com/kb/309485/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。