連線到 Visual Studio 中的資料庫

本文中的步驟說明如何連線到 Visual Studio IDE 中的資料來源。 資料來源可以是本機資料庫、線上資料服務或從.mdf檔案開啟的資料庫。 您可以在 Visual Studio 中直接使用您的資料。 您可以執行查詢、編輯資料、建立和編輯資料表與其他結構描述屬性、編輯預存程序和函式、觸發程序等等。 這些函式與您所使用的程式設計語言或 .NET 版本無關。

伺服器總管和 SQL Server 物件總管

您可以使用伺服器總管SQL Server 物件總管,開啟與資料庫或服務、從 .mdf 檔案開啟的 LocalDB 資料庫的連線,以及檢視和編輯資料表與資料列。 這些視窗的功能有一定程度地重疊。 基本差異如下:

  • 伺服器總管

    預設安裝在 Visual Studio。 可用來測試連線和檢視 SQL Server 資料庫、已安裝 ADO.NET 提供者的任何其他資料庫,以及某些 Azure 服務。 也會顯示低階物件,例如系統效能計數器、事件記錄和訊息佇列。 如果某個資料來源沒有 ADO.NET 提供者,就不會在此顯示,但您仍可透過以程式設計方式連線,從 Visual Studio 使用該資料來源。

  • Cloud Explorer

    Visual Studio Marketplace 將此視窗手動安裝為 Visual Studio 延伸模組。 提供用於探索及連線至 Azure 服務的特製化功能。

  • SQL Server 物件總管

    隨 SQL Server Data Tools 一起安裝,並顯示在 [檢視] 功能表底下。 如果未在該處看到,請移至 [控制面板] 中的 [程式和功能],尋找 Visual Studio,然後在選取 [SQL Server Data Tools] 的核取方塊後,選取 [變更] 以便重新執行安裝程式。 使用 SQL Server 物件總管可檢視 SQL 資料庫 (如果資料庫有 ADO.NET 提供者的話)、建立新的資料庫、修改結構描述、建立預存程序、擷取連接字串、檢視資料等等。 未安裝 ADO.NET 提供者的 SQL 資料庫不會在此顯示,但您仍然可以透過程式設計方式連線到這些資料庫。

您可以使用伺服器總管SQL Server 物件總管,開啟與資料庫或服務或從 .mdf 檔案開啟的 LocalDB 資料庫的連線,以及檢視和編輯資料表與資料列。 這些視窗的功能有一定程度地重疊。 基本差異如下:

  • 伺服器總管

    預設安裝在 Visual Studio。 可用來測試連線和檢視 SQL Server 資料庫、已安裝 ADO.NET 提供者的任何其他資料庫,以及某些 Azure 服務。 也會顯示低階物件,例如系統效能計數器、事件記錄和訊息佇列。 如果某個資料來源沒有 ADO.NET 提供者,就不會在此顯示,但您仍可透過以程式設計方式連線,從 Visual Studio 使用該資料來源。

  • SQL Server 物件總管

    隨 SQL Server Data Tools 一起安裝,並顯示在 [檢視] 功能表底下。 如果未在該處看到,請移至 [控制面板] 中的 [程式和功能],尋找 Visual Studio,然後在選取 [SQL Server Data Tools] 的核取方塊後,選取 [變更] 以便重新執行安裝程式。 使用 SQL Server 物件總管可檢視 SQL 資料庫 (如果資料庫有 ADO.NET 提供者的話)、建立新的資料庫、修改結構描述、建立預存程序、擷取連接字串、檢視資料等等。 未安裝 ADO.NET 提供者的 SQL 資料庫不會在此顯示,但您仍然可以透過程式設計方式連線到這些資料庫。

在伺服器總管中新增連線

若要建立資料庫的連線,請按一下 [伺服器總管] 中的 [連線到資料庫] 圖示,或在 [資料連線] 節點上的 [伺服器總管] 中按一下滑鼠右鍵,然後選取 [新增連線]。 您可以從這裡開啟從 .mdf 檔案開啟的 LocalDB 資料庫的連線、連線到另一部伺服器上的資料庫、SharePoint 服務或 Azure 服務。

螢幕擷取畫面顯示 [伺服器總管新增連線] 圖示。

螢幕擷取畫面顯示 [伺服器總管連線至資料庫] 圖示。

這會顯示 [新增連線] 對話方塊。 我們已在此輸入通常會隨 Visual Studio 一起安裝的 SQL Server LocalDB 執行個體的名稱 (localdb)\MSSqlLocalDB

如果您沒有另一個資料庫的存取權,而且發現 LocalDB 並未安裝,則可以透過 Visual Studio 安裝程式,以資料儲存和處理工作負載一部分、ASP.NET 和 Web 開發工作負載或個別元件的形式安裝 LocalDB。 請參閱修改 Visual Studio

[新增新連線] 對話框的螢幕擷取畫面。

[新增新連線] 對話框的螢幕擷取畫面。

在 Visual Studio 2022 版本 17.8 及更新版本中,對話方塊包括兩個新選項 ([加密][信任伺服器憑證]),它們將進入連接字串並影響用於您連線的安全性設定。 這些選項支援 Microsoft.Data.SqlClient 4.0 更嚴格的安全性功能。 請參閱加密和憑證驗證行為的變更

建議的安全性做法是使用加密並在伺服器上為其安裝憑證。 請參閱加密和憑證驗證。 若要退出此增強的安全性,請將 [加密] 設定為 [選擇性 (False)]

如果您沒有在使用 Microsoft.Data.SqlClient 版本 4.0 的 Visual Studio 17.8 或更新版本中將 [加密] 設定為選擇性,則加密預設為強制。 與早期版本中的行為相比,此爲中斷性變更。 如果您沒有有效的憑證或沒有選擇 [信任伺服器憑證],則會收到以下錯誤訊息:

已在此連線上啟用加密,請檢查目標 SQL Server 的 SSL 和憑證設定,或在連線對話方塊中啟用 [信任伺服器憑證]。

其他資訊

已順利建立與伺服器的連接,但隨後在登入過程中發生錯誤。 (提供者:SSL 提供者,錯誤:0 - 憑證鏈結是由不信任的授權單位發出的。) (Microsoft SQL Server)

驗證類型

您可以從涵蓋廣泛案例的各種驗證類型中進行選擇。 如需詳細資訊,請參閱驗證類型

在 Visual Studio 17.8 及更新版本中,SQL 連線的驗證選項名稱已更新,以反映從 Active Directory 到 Microsoft Entra 的名稱變更。

螢幕擷取畫面顯示 Visual Studio 17.8 和更新版本的驗證類型。

開啟 MDF 資料庫檔案

.mdf 檔案代表 Master 資料庫檔案,而且這是封裝成檔案的 SQL 資料庫。 這些檔案有相關聯的 .ldf (Log Database File),其中包含該資料庫的記錄。 您可以在專案中新增服務架構資料庫項目,以建立會儲存在 .mdf 檔案中的新資料庫。 請參閱建立資料庫並新增資料表

如果專案中已有 .mdf 檔案,則可以按兩下或按一下滑鼠右鍵,然後選擇 [開啟] 以在伺服器總管中開啟該檔案。

若要在 Visual Studio 的伺服器總管中開啟不在專案中的 .mdf 檔案,請遵循下列步驟:

  1. 在 [新增連線] 對話方塊的 [資料來源] 底下,選擇 [Microsoft SQL Server 資料庫檔案 (SqlClient)]

  2. 使用 [瀏覽] 按鈕來尋找並選取 Master 資料庫檔案 (.mdf 檔案),或在 [資料庫檔案名稱] 方塊中輸入路徑。

    螢幕擷取畫面顯示 [新增連線] 對話框並連線到 SQL 資料庫檔案。

  3. 選擇驗證方法。

  4. 測試連線,如果連線成功,則選擇 [確定]。 資料庫的節點便會在伺服器總管中開啟。

變更提供者

如果資料來源不是想要的來源,請按一下 [變更] 按鈕,選擇新的資料來源或新的 ADO.NET 資料提供者。 根據您的設定方式,新的提供者可能會要求您提供認證。

注意

如果您使用 Visual Studio 2022 連線至 OLEDB 或 ODBC 資料提供者,則必須注意 Visual Studio 2022 現在是 64 位元處理序。

這表示 Visual Studio 中的某些資料工具將無法使用 32 位元資料提供者,連線至 OLEDB 或 ODBC 資料庫。 這包括 Microsoft Access 32 位元 OLEDB 資料提供者,以及其他協力廠商 32 位元提供者。

如果需要維護連線至 OLEDB 或 ODBC 的 32 位元應用程式,仍可以使用 Visual Studio 2022 建置並執行應用程式。 不過,如果您需要使用任何 Visual Studio 資料工具 (例如伺服器總管、資料來源精靈或資料集設計工具),則必須使用仍為 32 位元處理序的舊版 Visual Studio。 Visual Studio 的最後一個 32 位元處理序版本是 Visual Studio 2019。

如果您打算將專案轉換成 64 位元處理序,則必須更新 OLEDB 和 ODBC 資料連線,以使用 64 位元資料提供者。

如果應用程式使用 Microsoft Access 資料庫,而且可以將專案轉換成 64 位元,建議使用 64 位元的 Microsoft Access 資料庫引擎,也稱為 Access Connectivity Engine (ACE)。 如需詳細資訊,請參閱 OLE DB Provider for Jet 和 ODBC 驅動程式僅為 32 位元版本

如果使用協力廠商資料提供者,則在將專案轉換為 64 位元之前,建議先與廠商連絡,了解其是否有提供 64 位元提供者。

螢幕擷取畫面顯示如何變更 ADO.NET 資料提供者。

螢幕擷取畫面顯示如何變更 ADO.NET 資料提供者。

測試連線

選擇資料來源之後,按一下 [測試連線]。 如果測試未成功,則必須根據廠商的文件進行疑難排解。

螢幕擷取畫面顯示 [測試連接成功] 訊息方塊。

螢幕擷取畫面顯示 [測試連接成功] 訊息方塊。

如果測試成功,便可以建立資料來源,資料來源是 Visual Studio 術語,實際上的意思是以基礎資料庫或服務為基礎的資料模型

使用 SQL Server 物件總管進行連線

如果您使用 SQL Server 物件總管,作業體驗可能會比較輕鬆,物件總管會透過對話方塊為您提供更多協助,讓您在本機、區域網路和 Azure 訂用帳戶中尋找可用的資料庫,並提供最近使用選項的歷程記錄。

若要從 [SQL Server 物件總管] 存取 [連線] 對話方塊,請按一下工具列按鈕 [新增 SQL Server]

SQL Server 物件總管 [新增 SQL Server] 按鈕的螢幕擷取畫面

[連線] 對話方塊便會出現。 選擇本機、網路或 Azure SQL Server、選取資料庫、提供認證,然後選擇 [連接]。

SQL Server 物件總管 [連接] 對話方塊的螢幕擷取畫面。

如果您需要在連接字串中設定其他設定,則可以使用 [進階] 連結以顯示所有設定。 例如,若要連線到以 MDF 檔案為基礎的 LocalDB 資料庫,請選擇 [進階],然後設定 AttachDbFilename 屬性。

螢幕擷取畫面顯示進階設定。

連線設定完成後,伺服器和資料庫便會顯示在 [SQL Server 物件總管] 視窗中。

螢幕擷取畫面顯示已成功連接訊息。

您可以從該處瀏覽資料庫、撰寫和執行查詢、編輯資料、預存程序和函式,以及直接在 Visual Studio 中執行其他動作。

下一步

如果您正在使用 .NET Framework (而非 .NET Core 或 .NET 5 或更新版本) 以及 Windows Forms 或 WPF,則您可以使用 [資料來源] 視窗,例如,在 Windows Forms 和 WPF 應用程式中設定控制項的資料繫結,請參閱新增資料來源。 這些工具旨在讓您快速建立要允許使用者輸入、顯示及操作資料所需要的 Windows 應用程式。

如果您使用 .NET 5 或更新版本、.NET Core 或 ASP.NET Core,則可以使用已連線的服務將應用程式連線至資料庫。 使用已連線的服務可讓您輕鬆地使用由 SQL LocalDB 裝載的本機開發資料庫、在容器中執行的 SQL Server,或 SQL Server 的內部部署執行個體,然後在準備好部署至雲端時轉換至 Azure SQL Database。 若為 .NET 5 或更新版本、.NET Core 和 ASP.NET Core,請考慮使用 Entity Framework Core 作為資料庫架構。