我使用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,因此我需要安装的任何驱动程序都需要兼容它。感谢您的帮助。
答案 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服务,然后点击设置菜单中的防火墙。
您的客户地址方便地包含在列表中,因此您只需点击添加客户端IP ,然后点击保存。
好吧,当你现在运行你的代码时,它应该连接。