Назад | Перейти на главную страницу

Oracle Instant Client DSN через unixODBC

У меня установлен Oracle Instant Client на веб-сервере SuSE, и я пытаюсь подключиться к базе данных Oracle с помощью PHP через unixODBC.

Соединение работает нормально, после выдачи odbc_connect я получаю ответ типа «odbc link». После выдачи odbc_prepare я получаю ответ типа «odbc result». Проблема в том, что когда я пытаюсь выполнить команду odbc_execute, я получаю одну из двух ошибок:

Warning: odbc_execute(): SQL error: [unixODBC][Oracle][ODBC][Ora]Driver not capable., SQL state S1C00 in SQLExecute

или же ошибка браузера:

Error 324 (net::ERR_EMPTY_RESPONSE): Unknown error.

Я также пробовал указать SQL_CUR_USE_ODBC в методе odbc_connect, но когда я это делаю, скрипт просто зависает на неопределенное время.

Мне интересно, есть ли какие-то параметры, которые я должен указать в файлах odbc.ini или odbcinst.ini для DSN? Кажется, не так много документации о том, какие опции доступны или что они делают.

редактировать

Я получил соединение, работающее с помощью методов объекта PDO (на самом деле ничего не менял, просто пробовал использовать методы подготовки / выполнения PDO). Однако я все еще не могу получить никаких результатов, используя odbc_prepare / odbc_execute. Вот информация о сервере, которую я получаю из запроса «SELECT * FROM product_component_version»:

[PRODUCT] => NLSRTL 
[VERSION] => 10.2.0.4.0
[STATUS] => Production

[PRODUCT] => Oracle Database 10g Enterprise Edition 
[VERSION] => 10.2.0.4.0
[STATUS] => 64bi

[PRODUCT] => PL/SQL 
[VERSION] => 10.2.0.4.0
[STATUS] => Production

[PRODUCT] => TNS for Solaris: 
[VERSION] => 10.2.0.4.0
[STATUS] => Production