连接到MS SQL数据库时,PDO错误“ Adaptive Server不可用”

时间:2018-09-27 09:47:05

标签: php sql-server

我正在尝试使用odbc连接到MSSQL数据库。 我的问题类似于this issue,我可以用tsql连接,但不能用php连接。 该问题的答案不起作用,因为我认为我没有安装SELinux(我不知道它是什么,但是pacman在我的计算机上找不到此软件包(或类似名称)) 我不明白为什么它不起作用,odbc已被php安装并检测到

print_r(PDO::getAvailableDrivers()); 
Array ( [0] => odbc )

我正在这样做:

$dsn = 'odbc:Driver=FreeTDS;Server=127.0.0.1;Port:1433;Database=[my base name]';
$pdo = new PDO($dsn, $user, $password);

我的基地不在本地,我使用ssh隧道,因为该基地只能在我的学校访问,并且我们需要ssh隧道。并且可以正常工作,我可以使用tsql将自己连接到基础。

1 个答案:

答案 0 :(得分:0)

当我将PHP连接到我们的MS SQL服务器时,我再也无法使用ODBC驱动程序建立连接。

相反,我直接从Microsoft下载了官方的PHP> SQL SERVER驱动程序。您可以找到它们here

安装后,必须配置php.ini文件以包括新驱动程序,重新启动Web服务器,然后使用以下命令打开新连接:

$conn = new PDO("sqlsrv:Server=SERVER_IP,1433;Database=DATABASE_TO_OPEN;");