我见过很多问类似的问题,但这些问题通常可以通过访问服务器来安装额外的软件包(如FreeTDS)来解决。我们没有像linux和1and1托管的服务器。从托管linux访问远程MSSQL服务器PHP
我的代码(由别人放在这里前面一个问题)是:
try {
$hostname = "xx.xx.xx.xx";
$port = xxxxx;
$dbname = "ClientDatabase";
$username = "uuuu";
$pw = "pppp";
$dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
$stmt = $dbh->prepare("select name from master..sysdatabases where name = db_name()");
$stmt->execute();
while ($row = $stmt->fetch()) {
print_r($row);
}
unset($dbh); unset($stmt);
该错误消息我得到的是:
Failed to get DB handle: could not find driver
的MSSQL服务器是可访问的,所以我可以添加功能如果有必要的话。 MSSQL服务器也在运行IIS7,但不运行PHP。我对IIS7知之甚少,但是在那里运行PHP脚本而不是托管linux框更容易?
任何人都可以建议,如果我实际上可以连接到MSSQL服务器?
由于提前,
戴夫
我相信mssql_connect是在PHP弃用5.4 感谢 似乎$胸径=新PDO(“DBLIB:主机= $主机名:$端口; DBNAME = $ DBNAME ”, “$用户名”, “私服$”);不正确,应该是: $ dbh = new PDO(“sqlsrv:Server = $ hostname:$ port; Database = $ dbname”,“$ username”,“$ pw”); 仍然没有工作,但前进。 – demsley