【发布时间】:2011-09-21 09:09:03
【问题描述】:
我有 PDO 方面的经验,但到目前为止我一直在使用 MySQL。我需要使用 PDO + SQL Server,但似乎发生了一些奇怪的事情。
<?php
$dsn = 'dblib:dbname=my_db;host=127.0.0.1'; //dbname and host is on different server, not localhost
$user = 'username';
$password = 'password';
try {
$db = new PDO($dsn, $user, $password);
$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
}
catch(PDOException $e) {
echo $e->getMessage();
}
?>
我收到以下错误;
SQLSTATE[HY000] 一般 SQL Server 错误:检查来自 SQL Server 的消息。 (严重性 5)
我现在真的很困惑我的代码出了什么问题。 Dblib 安装在服务器上,我什至没有进行任何查询,这段代码应该可以正常工作。每次我在互联网上检查的地方都是相同的代码。这就是为什么我确信我的代码没有任何问题。
如果有这方面经验的人可以帮助我,我会很高兴。
附:我知道 dblib 处于实验状态,但它应该能够建立连接。
提前感谢您的帮助和时间。
编辑:
问题已部分解决。感谢Uzay Teknoloji A.Ş.,他们为我创建了 SQL Server 2008 R2 数据库来测试建立 SQL Server 连接。我之前尝试连接的数据库是 SQL Server 2000。SQL Server 2000 似乎不支持 dblib。
【问题讨论】:
-
没人知道它是什么?如何解决?
-
请关闭问题。这是一个真正的问题。我不想删除它,因为它可能对某人有帮助。
标签: php sql-server pdo