共用方式為


在 Visual Studio 中連接資料庫

本文的步驟展示了如何在 Visual Studio IDE 中連接資料來源。 資料來源可以是本地資料庫、線上資料服務,或是從 .mdf 檔案開啟的資料庫。 你可以直接在 Visual Studio 裡處理你的資料。 你可以執行查詢、編輯資料、建立與編輯資料表及其他結構屬性、編輯儲存程序與函式、觸發器等等。 這些函式與你使用的程式語言或 .NET 版本無關。

如果你正在使用 Access 資料庫(.accdb 檔案),請參考 在 .NET Framework 應用程式中連接 Access 資料庫

伺服器檔案總管與 SQL Server 物件總管

你可以透過伺服器.mdfSQL Server 物件總管開啟與資料庫或服務的連線,或從檔案開啟的 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 provider 的 SQL 資料庫不會顯示在這裡,但你仍然可以透過程式方式連接它們。

在伺服器檔案總管中新增連線

要建立與資料庫的連線,請在伺服器檔案總管中點擊「連接資料庫」圖示,或在資料連線」節點右鍵點擊「新增連線」。 從這裡,您可以開啟與從 .mdf 檔案開啟的 LocalDB 資料庫的連接,或連接到另一台伺服器、SharePoint 服務,或 Azure 服務上的資料庫。

顯示伺服器檔案總管「連接資料庫」圖示的截圖。

這會顯示 「新增連線 」對話框。 這裡,我們輸入了 SQL Server LocalDB 實例的名稱, (localdb)\MSSqlLocalDB該實例通常由 Visual Studio 安裝。

如果你無法存取其他資料庫,且沒有看到 LocalDB 的安裝,你可以透過 Visual Studio 安裝程式安裝 LocalDB,作為 資料儲存與處理 工作負載、 ASP.NET 和網頁開發 工作負載的一部分,或作為獨立元件安裝。 請參閱 修改 Visual Studio

新增連線對話框的截圖。

在 Visual Studio 2022 17.8 及以上版本中,對話框新增了兩個選項(加密信任伺服器憑證),這些選項會放在連線字串中,並影響你連線所使用的安全設定。 這些選項支援 Microsoft.Data.SqlClient 4.0 資料庫驅動程式的更嚴格安全功能。 請參見 加密與憑證驗證行為的變更

建議的安全做法是使用加密技術,並在伺服器上安裝相關憑證。 請參見 加密與憑證驗證。 要選擇退出此強化安全性,請將加密設為可選(Optional False)。

如果你在 Visual Studio 17.8 或更新版本(使用 Microsoft.Data.SqlClient 4.0 版本)中不將 加密 設為可選,那麼加密就會預設為強制。 這是與早期版本行為的重大改變。 如果您沒有有效的憑證或未選擇 信任伺服器憑證,您將收到以下錯誤訊息:

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

其他資訊

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

驗證類型

你可以從多種認證類型中選擇,涵蓋各種情境。 詳情請參見 認證類型

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

顯示 Visual Studio 17.8 及以後版本的認證類型截圖。

開啟 MDF 資料庫檔案

.mdf 檔案代表主資料庫檔案(Master Database File),是一個打包成檔案的 SQL 資料庫。 這些檔案有一個關聯 .ldf 的(Log Database File),裡面包含該資料庫的日誌。 你可以透過在專案中新增一個基於.mdf項目,建立儲存在檔案中的新資料庫。 請參閱 建立資料庫並新增資料表

如果你的專案中已有 .mdf 檔案,可以雙擊或右鍵點擊,選擇 「開啟 」,在伺服器檔案總管中開啟。

要在 Visual Studio 的 Server Explorer 中開啟 .mdf 不在專案中的檔案,請依照以下步驟操作:

  1. 新增連線對話框中,資料來源下選擇 Microsoft SQL Server 資料庫檔案(SqlClient)。

  2. 使用 瀏覽按鈕尋找 並選擇你的主資料庫檔案(檔案),.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 資料工具,如 Server Explorer、Data Source Wizard 或 DataSet Designer,你就必須使用仍為 32 位元程序的早期版本 Visual Studio。 32 位元處理程序的 Visual Studio 最後一個版本是 Visual Studio 2019。

如果你打算將專案轉換成 64 位元程序,就需要更新 OLEDB 和 ODBC 的資料連線以使用 64 位元資料提供者。

如果您的應用程式使用 Microsoft Access 資料庫,且能將專案轉換為 64 位元,建議使用 64 位元 Microsoft Access 資料庫引擎,也稱為 Access Connectivity Engine(ACE)。 請參閱 OLE DB 供應商,Jet 與 ODBC 驅動程式僅為 32 位元版本 以獲取更多資訊。

如果你使用第三方資料供應商,建議先與供應商聯繫,確認他們是否有提供 64 位元供應商,再決定是否將專案轉換成 64 位元。

截圖顯示如何更改 ADO.NET 資料提供者。

測試連線

選擇資料來源後,點擊 「測試連線」。 如果不成功,你就得根據廠商的文件進行故障排除。

顯示測試連線成功訊息框的截圖。

如果測試成功,你就準備好建立 資料來源了,這是 Visual Studio 的術語,實際上是指基於底層資料庫或服務的資料 模型

使用 SQL Server 物件總管連接

如果你使用 SQL Server 物件總管,體驗可能會更簡單,它會有一個對話框,幫助你在本地、本地網路和 Azure 訂閱中尋找可用資料庫,並顯示最近使用的選擇歷史。

要從 SQL Server 物件總管中進入連接對話框,請點擊工具列按鈕 「新增 SQL Server」。

SQL Server 物件總管新增 SQL Server 按鈕的截圖

連線對話框會跳出來。 選擇你的本地機、網路或 Azure SQL Server,選擇資料庫,提供憑證,然後選擇 Connect

SQL Server 物件總管連接對話框的截圖。

如果你需要在連接字串中設定其他設定,可以使用 進階 連結,這樣會顯示所有設定。 例如,要連接基於 MDF 檔案的 LocalDB 資料庫,選擇 「進階 」,然後設定 AttachDbFilename 這個屬性。

顯示進階設定的截圖。

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

顯示已連線成功訊息的截圖。

接著,你可以瀏覽資料庫、撰寫並執行查詢、編輯資料、儲存程序與函式,並直接在 Visual Studio 執行其他操作。

後續步驟

如果你使用的是 .NET Framework(非 .NET Core 或 .NET 5 或更新版本),以及 Windows 表單或 WPF,例如你可以使用 資料來源 視窗來設定 Windows 表單和 WPF 應用程式中控制項的資料綁定,詳見 新增資料來源。 這些工具設計目的是讓你能快速建立需要使用者輸入、顯示及操作資料的 Windows 應用程式。

如果你使用 .NET 5 或更新版本、.NET Core 或 ASP.NET Core,你可以透過 Connected Services 將應用程式連接到資料庫。 使用 Connected Services,您可以輕鬆使用由 SQL LocalDB 託管的本地開發資料庫、容器中運行的 SQL Server,或是本地的 SQL Server 實例,然後在準備部署到雲端時再轉換到 Azure SQL Database。 對於 .NET 5 或更新版本、.NET Core 和 ASP.NET Core,你應該考慮使用 Entity Framework Core 作為你的資料庫框架。