Ошибка "Adaptive Server is unavailable or does not exist (severity 9)" и PDO

в разделе Программирование | Метки: PHP, PDO, Microsoft SQL Server

Сегодня наткнулся на проблему при подключении к Microsoft SQL Server:

Adaptive Server is unavailable or does not exist (severity 9)


<?php
try {
    
$hostname "LOGSERVER";
    
$dbname "db";
    
$username "log";
    
$pw "123";
    
$port 2433;

    
$dbh = new PDO ("dblib:host=$hostname;port=$port;dbname=$dbname","$username","$pw");
} catch (
PDOException $e) {
    echo 
"Failed to get DB handle: " $e->getMessage() . "\n";
    exit;
}
?>

Оказывается для того чтобы подключаться к Microsoft SQL Server надо отредактировать файл /etc/freetds/freetds.conf, в нем вписать параметры подключения:

[LOGSERVER]
    host=log.pvt
    port=2433
    tds version = 8.0
    client charset=WINDOWS-1251

После этого в параметрах подключения в качестве hostname надо использовать то что было указано в этом конфиге, т.е. не log.pvt, а LOGSERVER