84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
當嘗試在 Windows 上編寫一個透過 ODBC 連接到資料庫的程式時,出現以下錯誤:
[Microsoft][ODBC 驅動程式管理員] 未找到資料來源名稱且未指定預設驅動程式。
我確信我的程式碼是正確的。它甚至可以在另一台電腦上運行。
為什麼我會收到此錯誤?我該如何修復它?
在設計模式下,已將值設為屬性 TFDConnection.ConnectionDefName 必須為空。
TFDConnection.ConnectionDefName
簡單地說,錯誤訊息告訴您 ODBC 驅動程式管理員找不到您在連接字串或 DSN 中指定的驅動程式。
這可能有 3 個常見原因:
您可以透過前往 ODBC 資料來源管理器來檢查系統上安裝的驅動程式。要開啟它,請按 ⊞ Win R,然後輸入:odbcad32.exe。然後檢查選項卡驅動程式以取得已安裝的驅動程式。 名稱列指示您應在連接字串或 DSN 中使用的確切名稱。
odbcad32.exe
如果您使用的是 64 位元 Windows,則只列出安裝在 你的系統。若要查看安裝了哪些32 位元驅動程序,請按⊞ Win R,然後輸入:C:\Windows\SysWOW64\odbcad32.exe code>,然後再次轉到“驅動程式”選項卡。
C:\Windows\SysWOW64\odbcad32.exe code>,然後再次轉到“驅動程式”選項卡。
然後,您有兩個選擇,要么調整程式運行的位數,要么安裝具有不同位數的驅動程式。
Windows 上預設安裝的某些驅動程式僅具有 32 位元變體。這些不能與 64 位元程式一起使用。
您通常可以在工作管理員中識別程式正在執行的位數。在 Windows 10 中,所有 32 位元程式的名稱後面都會附加 (32-bit)。如果不存在,則您可能正在運行 64 位元程序,並且大多數現代程式語言和環境預設在 64 位元上運行,但允許您切換到 32 位元。但是,不同程式語言的具體細節超出了本問題的範圍。
ODBC 連線字串如下所示:
DRIVER={DriverName};ParameterName1=ParameterValue1;ParameterNameN=ParameterValueN;
如果驅動程式名稱部分可能包含特殊字符,則需要以大括號分隔,並且需要與已安裝的驅動程式名稱完全匹配(如ODBC 資料來源管理器中所示),包括空格和印刷字符,但不包括大寫字母。
請注意,對於已部署的程式碼,驅動程式必須存在於執行程式碼的電腦/伺服器上。
這取決於您要使用哪個驅動程式。
常見驅動程式清單及下載位置(所有 32 位元和 64 位元均位於相同 URL):
如果您要使用的驅動程式未列出,通常可以使用 Google 輕鬆找到該位置。
在設計模式下,已將值設為屬性
TFDConnection.ConnectionDefName
必須為空。什麼原因導致此錯誤?
簡單地說,錯誤訊息告訴您 ODBC 驅動程式管理員找不到您在連接字串或 DSN 中指定的驅動程式。
這可能有 3 個常見原因:
如何檢查我的系統上安裝了哪些驅動程式?
您可以透過前往 ODBC 資料來源管理器來檢查系統上安裝的驅動程式。要開啟它,請按 ⊞ Win R,然後輸入:
odbcad32.exe
。然後檢查選項卡驅動程式以取得已安裝的驅動程式。 名稱列指示您應在連接字串或 DSN 中使用的確切名稱。如果您使用的是 64 位元 Windows,則只列出安裝在 你的系統。若要查看安裝了哪些32 位元驅動程序,請按⊞ Win R,然後輸入:
C:\Windows\SysWOW64\odbcad32.exe code>,然後再次轉到“驅動程式”選項卡。
驅動程式已安裝,但可能位數錯誤,我該怎麼辦?
然後,您有兩個選擇,要么調整程式運行的位數,要么安裝具有不同位數的驅動程式。
Windows 上預設安裝的某些驅動程式僅具有 32 位元變體。這些不能與 64 位元程式一起使用。
您通常可以在工作管理員中識別程式正在執行的位數。在 Windows 10 中,所有 32 位元程式的名稱後面都會附加 (32-bit)。如果不存在,則您可能正在運行 64 位元程序,並且大多數現代程式語言和環境預設在 64 位元上運行,但允許您切換到 32 位元。但是,不同程式語言的具體細節超出了本問題的範圍。
如何驗證我沒有輸錯驅動程式名稱?
ODBC 連線字串如下所示:
如果驅動程式名稱部分可能包含特殊字符,則需要以大括號分隔,並且需要與已安裝的驅動程式名稱完全匹配(如ODBC 資料來源管理器中所示),包括空格和印刷字符,但不包括大寫字母。
請注意,對於已部署的程式碼,驅動程式必須存在於執行程式碼的電腦/伺服器上。
我沒有驅動程序,或位數錯誤,我在哪裡可以獲得正確的驅動程式?
這取決於您要使用哪個驅動程式。
常見驅動程式清單及下載位置(所有 32 位元和 64 位元均位於相同 URL):
如果您要使用的驅動程式未列出,通常可以使用 Google 輕鬆找到該位置。