Надо, значит, настроить pdo доступ к MS SQL Server 2000 в PHP. Почитал Интернет. Поставил freetds, freetds-msdlib, добавив компоненты в php5-extensions:
# cd /usr/ports/lang/php5-extensions# make config
# make install clean
Ставим все по умолчанию.
Далее необходимо создать файл /usr/local/etc/freetds.ini. Выглядит у меня так:
[global]
initial block size = 512
try server login — yes
try domain login = yes
dump file = /tmp/freetds.log
[MYSERVER]
host = <IP_адресс>
port = 1433
tds version = 8.0
client-charset = CP1251
Перезапускаем apache.
#apachectl restart
Проверяем доступ к серваку c MS SQL 2000:
#tsql -S MYSERVER -U user
где user — пользователь БД
Если все норм, запускаем пишем php-скрипт и проверяем его:
<?php
// Connect to MSSQL
$link = mssql_connect(‘MYSERVER’, ‘user’, ‘user_password’);
if (!$link)
{
die(‘Something went wrong while connecting to MSSQL’);
}
else{
echo «OK!»;
}
?>
Если все нормально, запускаем скрипт с PDO:
<?php
try {
$dbname = «ourdatabase»;
$username = «user»;
$pw = ‘user_password’;
$dbh = new PDO («dblib:host=MYSERVER;dbname=$dbname»,$username,$pw);
} catch (PDOException $e) {
echo «Failed to get DB handle: » . $e->getMessage() . «\n»;
exit;
}
if(isset($dbh)){
echo ‘<br>Success<br>’;
}else{
Echo ‘<br>Failed<br>’;
}
Вот он у меня и не отрабатывает. Пишет, что данные не получены. Мучался я там с настройкой ODBC, ничего не получилось. В итоге забили и программеры перешли на MySQL. Там все заработало.