SQL Server PDO找不到驱动程序

时间:2017-01-12 23:10:07

标签: php sql-server azure pdo

我使用Microsoft Azure SQL作为我的数据库,并且我尝试使用XAMPP将其连接到我的localhost上的项目。当我尝试使用他们提供的连接字符串连接到数据库时:

    try {
    $conn = new PDO("sqlsrv:server = tcp:app.database.windows.net,1433; Database = mydatabase", "{myusername}", "{your_password_here}");
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
    print("Error connecting to SQL Server.");
    die(print_r($e));
}

我一直收到这个错误:

Error connecting to SQL Server.PDOException Object ( [message:protected] => could not find driver

错误较长但我认为它与最后提到的驱动程序有关。我使用的是mac,因此我需要安装的任何驱动程序都需要兼容它。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

Azure SQL数据库基于Microsoft SQL Server引擎构建。因此,您可以考虑使用 pdo-dblib 在Mac上使用PDO连接到SQL Server。您可以查看a Stack Overflow question about it here或参阅this setup documentation

安装驱动程序后,Azure SQL实际上不会接受来自您本地的连接。并且您可能会收到以下错误:

  

拥有IP地址的客户' 167.xxx.xxx.xxx'不允许访问   服务器

那是因为默认情况下有防火墙。要启用访问权限,请转到Azure portal,点击所有资源,选择您的SQL服务,然后点击设置菜单中的防火墙

enter image description here

您的客户地址方便地包含在列表中,因此您只需点击添加客户端IP ,然后点击保存

好吧,当你现在运行你的代码时,它应该连接。