我正在尝试连接到托管在另一组服务器上的 MS SQL 数据库。我可以连接旧方式。
$myServer = "server name";
$myUser = "username";
$myPass = "pword";
$myDB = "dbname";
if (is_callable('mssql_connect')) {
$link = mssql_connect($myServer, $myUser, $myPass);
if (!$link) {
die('connection failed');
}
} else {
echo 'mssql_connect() is not supported on this environment';
}
//connection to the database
$dbhandle = mssql_connect($myServer, $myUser, $myPass);
//select a database to work with
$selected = mssql_select_db($myDB, $dbhandle)
or die("Couldn't open database $myDB");
这可以很好地连接到 ms sql 服务器。当我尝试使用 PDO dblib 时,我收到以下错误“SQLSTATE[01002] Adaptive Server 连接失败(严重性 9)”
这是我为此使用的代码,我已经检查并安装了 pdo 和 dblib 作为使用的选项。凭据都完全相同。
$myServer = "server name";
$myUser = "username";
$myPass = "pword";
$myDB = "dbname";
try {
# MS SQL Server and Sybase with PDO_DBLIB
$DBH = new PDO("dblib:host=$myServer;dbname=$myDB, $myUser, $myPass");
}
catch(PDOException $e) {
echo $e->getMessage();
}
任何帮助将不胜感激,因为我计划在 php 中创建一个新的应用程序以连接到这个 MS SQL 数据库,但将来计划在所有旧的经典 asp 都重建为 php 后将 db 迁移到 Mysql。