共用方式為


使用 UDL 檔案測試 SQL Server 的 OLE DB 連線能力

適用於:SQL Server

注意

開始疑難解答之前,請先檢查 必要條件 並完成檢查清單。

本文說明如何建立通用數據連結 (UDL) 檔案,並使用不同的提供者透過檔案測試與 SQL Server 實例的連接。

建立 UDL 檔案

注意

UDL 檔案可讓您測試對象連結和內嵌資料庫 (OLE DB) 提供者連線到與與完整應用程式無關的任何後端資料庫。 儲存 UDL 檔案會產生格式正確的 連接字串,可用來協助建置應用程式的 連接字串 或檢查如何設定不同的屬性。 若要取得字串,請在記事本中開啟檔案。

若要建立 UDL 檔案來測試您的 OLE DB 提供者,請遵循下列步驟:

  1. 若要在 檔案總管 中顯示擴展名,請遵循下列步驟:

    1. 選取 [開始],然後輸入 檔案總管 [選項]。

    2. 選取 [ 檢視] 索引標籤,取消核取 [ 隱藏已知文件類型 的擴展名] 選項,然後選取 [ 確定]。

  2. 流覽至您要建立 UDL 檔案的資料夾。 例如, c:\temp

  3. 建立新的文字檔 (例如 sqlconn.txt),然後將擴展名從 .txt 重新命名為 .udl。 (選取 ,有關變更擴展名的警告訊息。)

    您也可以使用下列 PowerShell 腳本,在您的 %temp% 資料夾中建立 sqlconn.udl

    clear
    $ServerName = "(local)"
    $UDL_String = "[oledb]`r`n; Everything after this line is an OLE DB initstring`r`nProvider=MSOLEDBSQL.1;Integrated Security=SSPI;Persist Security Info=False;User ID=`"`";Initial Catalog=`"`";Data Source=" + $ServerName + ";Initial File Name=`"`";Server SPN=`"`";Authentication=`"`";Access Token=`"`""
    Set-Content -Path ($env:temp + "\sqlconn.udl") -Value $UDL_String -Encoding Unicode
    
    #open the UDL
    Invoke-Expression ($env:temp + "\sqlconn.udl")
    

使用 SQL Server OLE DB 提供者測試連線

Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 是最常見的提供者。 它內建於 Windows 中,而且可以連線到任何未設定為需要 TLS 1.2 通道系結的 SQL Server 版本。

Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) 是最新的 SQL Server OLE DB 提供者。 提供者具有所有新功能,例如TLS 1.2、 MultiSubnetFailover 和 Azure 驗證選項。 我們建議這個提供者用於較新的 SQL Server 資料庫。

若要使用 SQL Server OLE DB 提供者測試連線,請遵循下列步驟:

  1. 開啟 .udl 檔案。

  2. 選取 [ 提供者] 索引卷標,選取您在應用程式中使用的 SQL Server OLE DB 提供者,然後選取 [ 下一步]。

  3. 在 [連線] 索引標籤上,指定網路通訊協定、完整功能變數名稱 (FQDN),以及 [選取或輸入伺服器名稱] 底下的埠號碼。 例如: tcp:SQLProd01.contoso.com,1433

    注意

    這種輸入伺服器名稱的方式可避免一些可能會干擾連線的常見問題(例如 SQL Server Browser 服務問題)。

  4. 在 [ 連線 ] 索引標籤上輸入其他屬性。

    注意

    大部分的連接測試都不需要您輸入資料庫名稱。

  5. 選取 [測試連線]。

您也可以選取其他索引標籤,並探索其他驅動程式設定。 當連線測試完成時,選取 [確定] 將 連接字串 儲存至檔案。

使用 Microsoft OLE DB Provider for ODBC Drivers 測試連線

若要使用 Microsoft OLE DB Provider for ODBC Drivers 測試 Open Database Connectivity (ODBC) 驅動程式,請遵循下列步驟:

  1. 開啟 .udl 檔案。

  2. 選取 [提供者>] Microsoft [OLE DB Provider for ODBC Drivers>] [下一步]。

  3. 在 [ 連線 ] 索引標籤上,您可以使用下列其中一種方法來指定數據源,然後輸入其他屬性。

    • 在 [ 使用數據源名稱 ] 欄位中輸入值。

    • 輸入無 DSN 連接字串,例如 Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=Yes

  4. 選取 [測試連線]。

在64位電腦上測試32位提供者

若要測試 64 位作業系統中 32 位提供者的連接,請遵循下列步驟:

  1. 在 [ 命令提示字元 ] 視窗中,執行下列命令以開啟 32 位 命令提示字元

    %windir%\SysWoW64\cmd.exe
    
  2. 執行下列命令以開啟 UDL 檔案:

    c:\temp\test.udl
    
  3. 如果您在 [提供者] 索引標籤上看到 Microsoft Jet 4.0 OLE DB 提供者,這表示您已成功載入 32 位對話框,現在可以選取 32 位提供者來測試連線。

針對連線問題進行疑難解答的秘訣

您可以使用下列方法來檢查連線失敗的原因。

  • 變更提供者。
  • 變更通訊協定。 例如 tcp:np:lpc:
  • 使用或不使用完整網域後綴或僅使用IP位址來測試連線。
  • 拿掉埠號碼,並使用實例名稱來測試 SQL Server Browser 服務。

針對上述每個方法,如果一個組合運作,而另一個組合失敗,它可能會提供問題的線索。 例如,當您使用第二個方法時,如果 lpc: 運作正常且 tcp: 沒有,請嘗試在 SQL Server 組態管理員啟用 TCP 通訊協定。

另請參閱

通用數據連結 (UDL) 組態

注意

如果本文尚未解決您的問題,您可以檢查 SQL Server 中的連線問題疑難解答以取得更多協助。