【问题标题】:SQL Server PDO could not find driverSQL Server PDO 找不到驱动程序
【发布时间】:2017-05-28 05:46:38
【问题描述】:

我正在为我的数据库使用 Microsoft Azure SQL,并尝试使用 XAMPP 将它连接到我的本地主机上的项目。当我尝试使用他们提供的连接字符串连接到数据库时:

    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,所以我需要安装的任何驱动程序都需要与它兼容。提前感谢您的帮助。

【问题讨论】:

  • SQL-Server 问题不要使用mysql 标签。

标签: php sql-server azure pdo


【解决方案1】:

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,点击All Resources,选择您的SQL 服务,点击SETTING 菜单中的Firewall

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-27
    • 2016-08-05
    • 2017-11-07
    • 1970-01-01
    • 2014-07-23
    • 2013-04-25
    • 2017-09-15
    • 1970-01-01
    相关资源
    最近更新 更多