Share via


使用 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 瀏覽器服務問題) 可能會干擾連線。

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

    注意事項

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

  5. 取 [測試連線]

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

使用適用於 ODBC 驅動程式的 Microsoft OLE DB 提供者來測試連線

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

  1. 開啟 .udl 檔案。

  2. 取 [提供者>Microsoft OLE DB Provider for ODBC Drivers>Next]

  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 瀏覽器服務。

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

另請參閱

通用數據連結 (UDRL) 組態

注意事項

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