PHP: obdc_exec () завершается с ошибкой в ​​модели Zend - PullRequest
0 голосов
/ 26 января 2012

Я пытаюсь подключиться к базе данных Netezza через ODBC (не очень важно).

Важно то, что я пытаюсь обернуть вызовы odbc вручную в модели Zend. Для Zend нет адаптера ODBC. Я обнаружил, что у меня возникает та же проблема, с которой я сталкиваюсь сейчас, поэтому я надеюсь, что это та же проблема, и я могу отказаться от ручного взлома, если я ее решу. Я также попробовал объект PDO, но у него были те же проблемы.

Итак, код такой (параметры явно подделаны для публичного просмотра):

$conn = odbc_connect('dsn','username','password');
$sql = "SELECT site_name FROM sites";
$test = odbc_exec($conn, $sql) or die(odbc_errormsg());
echo "Made it this far.";

Вот проблема: когда я вставляю эти четыре строки в отдельный файл, он работает, и эта последняя строка будет отображаться. Затем я могу извлечь данные из $ test и выплюнуть их. Однако, если я вставлю эти четыре строки в метод внутри пользовательской модели, odbc_exec () автоматически завершится с ошибкой. Эта последняя строка не повторяет. Соединение установлено, и $ conn полностью ресурс, но он просто останавливается во время odbc_exec (). Если это большой запрос, он занимает очень много времени, а затем останавливается / не работает / ничего не делает.

Я понятия не имею, почему это происходит, и я схожу с ума. Zend вообще не должен с этим возиться, эти строки полностью автономны.

Любая помощь будет оценена, спасибо.

1 Ответ

0 голосов
/ 03 апреля 2013

Я только что решил похожую проблему. Обновите unix_odbc и PHP до последней версии, и она работает как шарм.

...