Как следует из названия, у меня проблемы с подключением к MSSQL из PHP-скрипта.
Установка: -
- PHP работает на сервере Apache Linux.
- Microsoft SQL Server 2008 находится на компьютере с XP.
- У меня включены удаленные подключения на сервере MSSQL.
- База данных bggs существует.
- База данных работает (я вижу зеленую стрелку).
- У меня нет брандмауэра на машине XP.
Если у вас есть какие-либо вопросы по отладке, не стесняйтесь спрашивать.
Я использую следующий тестовый сценарий.
<?php
include('adodb5/adodb.inc.php');
$db =& ADONewConnection('odbc_mssql');
$db->debug = true;
$dsn = "Driver={SQL Server};Server=ozmodiar;Database=bggs;";
$db->Connect($dsn,'user','password');
$rs = $db->Execute('select * from admin_users');
print "<pre>";
print_r($rs->GetRows());
print "</pre>";
?>
Получение следующего результата.
Предупреждение: odbc_connect() [function.odbc-connect]: ошибка SQL: [unixODBC][Диспетчер драйверов]Имя источника данных не найдено, и драйвер по умолчанию не указан, состояние SQL IM002 в SQLConnect в /mnt/filestore/vhost/bggs/ hr_database/Dev/includes/adodb5/drivers/adodb-odbc.inc.php в строке 60 (odbc_mssql): SET CONCAT_NULL_YIELDS_NULL OFF
Предупреждение: odbc_exec(): указанный аргумент не является допустимым ресурсом ODBC-Link в /mnt/ filestore/vhost/bggs/hr_database/Dev/includes/adodb5/drivers/adodb-odbc.inc.php в строке 530 IM002: [unixODBC][Диспетчер драйверов]Имя источника данных не найдено, и не указан драйвер по умолчанию
ADOConnection._Execute(SET CONCAT_NULL_YIELDS_NULL OFF, false) % строка 1017, файл: adodb.inc.php ADOConnection.Execute(SET CONCAT_NULL_YIELDS_NULL OFF) % строка 62, файл: adodb-odbc.inc.php ADODB_odbc._connect(Driver={SQL Сервер}; Сервер = 192.168.70.130; База данных = bggs;, sa, knd121, ) % строка 524, файл: adodb.inc.php ADOConnection.Connect (Драйвер = {SQL Server}; Сервер = 192.168.70.130; База данных = bggs ;,sa,knd121)% строка 9, файл: test_db.php
Driver={SQL Server};Server=192.168.70.130;Database=bggs;: [unixODBC][Диспетчер драйверов]Имя источника данных не найдено, и не указан драйвер по умолчанию (odbc_mssql): выберите * из admin_users
Предупреждение: odbc_exec (): предоставленный аргумент не является допустимым ресурсом ODBC-Link в /mnt/filestore/vhost/bggs/hr_database/Dev/includes/adodb5/drivers/adodb-odbc.inc.php в строке 530 IM002: [unixODBC][Driver Диспетчер]Имя источника данных не найдено, и драйвер по умолчанию не указан
ADOConnection._Execute(выбрать * из admin_users, false) % строка 1017, файл: adodb.inc.php ADOConnection.Execute(выбрать * из admin_users) % строка 10, файл: test_db.php
Неустранимая ошибка: вызов функции-члена GetRows() для не-объекта в /mnt/filestore/vhost/bggs/hr_database/Dev/includes/test_db.php в строке 12.