我試圖通過PDO_ODBC訪問PHP中的ODBC連接。這是我的代碼:PDO_ODBC:未找到數據源名稱並且沒有指定默認驅動程序
$db = new PDO('odbc:MyDSN', '', '');
而且我得到這個錯誤:
我知道DSN是工作,因爲我可以用Python pyodbc使用它。該類型是用戶DSN - 是否需要成爲系統DSN?我沒有指定驅動程序,因爲我認爲ODBC正在將其抽象掉,但也許我需要?底層數據庫是Oracle,如果有幫助的話。
謝謝!
我試圖通過PDO_ODBC訪問PHP中的ODBC連接。這是我的代碼:PDO_ODBC:未找到數據源名稱並且沒有指定默認驅動程序
$db = new PDO('odbc:MyDSN', '', '');
而且我得到這個錯誤:
我知道DSN是工作,因爲我可以用Python pyodbc使用它。該類型是用戶DSN - 是否需要成爲系統DSN?我沒有指定驅動程序,因爲我認爲ODBC正在將其抽象掉,但也許我需要?底層數據庫是Oracle,如果有幫助的話。
謝謝!
實際上有兩個單獨的Microsoft ODBC管理應用程序,一個用於32位,另一個用於64
由於this KB文章解釋:
The 32-bit version of the Odbcad32.exe file is located in the %systemdrive%\Windows\SysWoW64 folder.
The 64-bit version of the Odbcad32.exe file is located in the %systemdrive%\Windows\System32 folder.
不,不是一個錯字 - 32位版本位於SysWoW64
文件夾中,而64位位於System32
文件夾中。 (o_O)
我正在運行一個64位的Web服務器,它正在檢查DSN的64位ODBC庫,而我在32位版本中。降級服務器的確有竅門。