经过一番研究,终于能够在 Amazon Linux 上安装 Microsoft ODBC 驱动程序 13.1 和 mssql-tools。它自动安装了 unixODBC-2.3.4 作为依赖项,但不确定它的安装路径是什么。
(研究链接:在 EC2 实例上的 Amazon Linux 中为 MSSQL Server 安装 ODBC 驱动程序 13)
现在,一切都已安装完毕,但无法找到要遵循的后续步骤。
驱动程序扩展需要存在,php.ini
以便可以在 PHP 代码中使用。(已检查phpinfo()
但无法找到驱动程序详细信息,因为它不存在于 php.ini 文件中)
以下是/etc/odbcinst.ini
[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.4.0
UsageCount=1
问题:在现有的 php.ini 中发现以下注释
;;;;
; Note: packaged extension modules are now loaded via the .ini files
; found in the directory /etc/php.d; these are loaded by default.
;;;;
但是我无法找到为安装的 ODBC 驱动程序创建的任何 .ini 文件。
- 是否应该手动创建文件?
- 如果有,应该叫什么名字?
- 需要包含哪个扩展,因为我在 php 中找不到任何扩展?尝试包含
extension=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.4.0
并重新启动 httpd 进程,但没有成功。
有人能帮忙吗?.so
需要在 php.ini 中添加哪些文件作为扩展名才能启用该驱动程序?
无法弄清楚我错过了什么。
更新1: 刚刚通过 sqlcmd 实用程序检查,能够连接到我的 sql 服务器并成功获取结果。
sqlcmd -S SERVERIP -U User -P pwd -d DatabaseName -Q "SELECT TOP 1 Id FROM dbo.MyTable;"
这意味着驱动程序正在运行,但由于缺少上述映射,无法通过 odbc 连接