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


PHP SQLSRV connection “Failed to get DB handle: could not find driver”

我使用以下代码:

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

我还能做什么?

从您使用的端口可以清楚地看出您正在尝试连接到 MSSQL 数据库。

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

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

他们确实建议使用微软提供的sqlsrv驱动程序。

指向sqlsrv驱动程序的链接在上面的php链接中。

你试过mssql_connect吗?

语法如下:mssql_connect ([ 字符串 $servername [, 字符串 $username [, 字符串 $password [, bool $new_link = false ]]]] )

实现将是:

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

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