У меня проблема с ODBC в php (WAMP Server 2.5, PHP 5.5.12).
Когда я пытаюсь бежать:
$conn = odbc_connect("odbc_dsn", "user", "pwd");
if ($conn)
{
echo "Connection established.";
}
else
{
exit("Connection could not be established.");
}
Я получаю предупреждение:
Warning: odbc_connect(): in C:\wamp\www\Concepts\index.php on line 29
Connection could not be established.
Если я изменю «odbc_dsn» на что-то другое (которого не существует), например «fdbasdf», то получу:
Warning: odbc_connect(): SQL error: [Microsoft][ODBC Driver Manager]
Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben,
SQL state IM002 in SQLConnect in C:\wamp\www\Concepts\index.php on line
Connection could not be established.
(Перевод)
The Data Source could not be found, and no default driver is given.
Это говорит мне о том, что при первом исполнении удалось найти БД, но не открыл его … Почему?
Это другая конфигурация? Это пытается выполнить Client-Side? Что я могу сделать?
Вы должны указать протокол Host и Connect:
$connect_string = "Driver={SQL Anywhere 12};".
"CommLinks=tcpip(Host=$db_host);".
"ServerName=$db_server_name;".
"DatabaseName=$db_name;";
// Connect to DB
$conn = odbc_connect( $connect_string, $db_user, $db_pass );
Других решений пока нет …