Я видел несколько вопросов, задающих вопросы, но на них обычно ответят, имея доступ к серверу для установки дополнительных пакетов, таких как FreeTDS. У нас нет такого доступа, поскольку сервер linux размещен с 1and1.Доступ к удаленному серверу MSSQL из размещенного linux 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?
Спасибо заранее,
Dave
Я считаю, что mssql_connect является устаревшим в PHP 5.4 Благодаря Кажется, что $ ДВГА = новый PDO ("DBLIB: хост = $ имени хоста: $ порт; имя_бд = $ имя_бд », "$ имя пользователя", "$ PW"); неверно и должно быть: $ dbh = new PDO ("sqlsrv: Server = $ hostname: $ port; Database = $ dbname", "$ username", "$ pw"); Все еще не работает, но движется вперед. – demsley