我尝试通过php + adodb连接到我的batabase。 这是我的PHP代码:
$kpp_db = ADONewConnection('odbc_mssql');
$kpp_db->debug = true;
$kpp_db->charSet="UTF-8";
$kpp_dbDSN = "Driver={SQL Server};Server=$kppConfig_dbHost;Database=$kppConfig_dbName;";
$kppConfig_akEnabled=$kpp_db->Connect($kppConfig_dbDSN, $kppConfig_dbLogin, $kppConfig_dbPassword);
但这不起作用。我收到了消息
S1000:[unixODBC] [FreeTDS] [SQL Server]无法连接数据源
这是我的/etc/odbc.ini文件:
[SQL Server]
Driver=FreeTDS
Description=testsql
Trace=Yes
TraceFile=~/workspace/mstest.log
和/etc/odbcinst.ini文件:
[FreeTDS]
Description = FreeTDS unixODBC Driver
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
UsageCount = 1
我很困惑。有什么问题?
答案 0 :(得分:0)
您是否尝试通过命令行进行连接,如here所述?如果tsql和isql都工作,那么配置文件不是问题。根据您使用的操作系统,这可能是权限问题。对我来说,禁用SELinux可以解决问题:
sudo setenforce 0
答案 1 :(得分:0)
在redhat中,但对其他Linux操作系统不确定。
你还必须允许apache / httpd与MSSQL通信,只需输入以下命令,然后重启httpd:
setsebool -P httpd_can_network_connect on
setsebool -P httpd_can_network_connect_db on
systemctl restart httpd
然后尝试连接。