以下是参考官方文档安装ODBC驱动的过程,跟官方教程是一毛一样,只是加上了每行命令的说明。
添加安装源到本机
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
卸载部分包,避免冲突
yum remove unixODBC-utf16 unixODBC-utf16-devel
安装msodbcsql17
包
ACCEPT_EULA=Y yum install msodbcsql17
安装mssql-tools
包
ACCEPT_EULA=Y yum install mssql-tools
写入环境变量
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
写入环境变量
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
让刚刚写入的环境变量生效
source ~/.bashrc
安装unixODBC-devel
包
yum install unixODBC-devel
最后,查看/etc/odbcinst.ini
文件内容
cat /etc/odbcinst.ini
可以看到最后面有[ODBC Driver 17 for SQL Server]
的配置,恭喜你,驱动安装完成
[PostgreSQL]
Description=ODBC for PostgreSQL
Driver=/usr/lib/psqlodbcw.so
Setup=/usr/lib/libodbcpsqlS.so
Driver64=/usr/lib64/psqlodbcw.so
Setup64=/usr/lib64/libodbcpsqlS.so
FileUsage=1
[MySQL]
Description=ODBC for MySQL
Driver=/usr/lib/libmyodbc5.so
Setup=/usr/lib/libodbcmyS.so
Driver64=/usr/lib64/libmyodbc5.so
Setup64=/usr/lib64/libodbcmyS.so
FileUsage=1
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.4.so.1.1
UsageCount=1
最后,在PHP里测试下是否能正常连接,如果输出Connected
就是成功了
注意更换成自己对应的信息:127.0.0.1
数据库地址、1433
数据库端口、jwj
数据库名、sa
数据库用户名、password
数据库密码
<?php
try {
$conn = new PDO('odbc:Driver={ODBC Driver 17 for SQL Server};Server=127.0.0.1,1433;Database=jwj;', 'sa', 'password');
} catch (PDOException $e) {
exit('Error:' . $e->getMessage());
}
exit('Connected');