PHP SQLSRV连接“无法获取数据库句柄:找不到驱动程序”

时间:2016-03-21 14:52:37

标签: php sqlsrv

我正在使用以下代码:

try {
    $hostname = "*****";
    $port = 1443;
    $dbname = "*******";
    $username = "********";
    $pw = "************";
    $dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");
} catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
}

错误:

Failed to get DB handle: could not find driver

DLL文件已经在 php / ext 中,并在 php.ini

中修改

我还能做什么?

2 个答案:

答案 0 :(得分:0)

从您正在使用的端口,很明显您正在尝试连接到MSSQL数据库。

PHP文档指出,对于运行php 5.3或更早版本的Windows机器,不建议使用PDO支持连接到SQLSRV。

http://php.net/manual/en/ref.pdo-dblib.php

他们建议使用microsoft提供的sqlsrv驱动程序。

sqlsrv驱动程序的链接位于上面的php链接中。

答案 1 :(得分:0)

你试过mssql_connect吗?

这里有以下语法:mssql_connect([string $ servername [,string $ username [,string $ password [,bool $ new_link = false]]]])

实施将是:

$link = mssql_connect($hostname, $username, $pw);
mssql_select_db($dbname, $link);

请注意,$ hostname应包含MSSQL实例名称。例如' KALLESPC \ SQLEXPRESS'