我试图通过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位版本中。降级服务器的确有窍门。