Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: odbc_exec
Форумы портала PHP.SU » » Вопросы новичков » odbc_exec

Страниц (1): [1]
 

1. Угловой - 17 Февраля, 2017 - 13:14:14 - перейти к сообщению
Доброго времени!

Столкнулся с такой проблемой. Файл .php вызывает через функцию odbc_exec хранимую процедуру БД. Операция долговременная. Крутится .gif. После выполнения процедуры в БД, гифчик пропадает... и тишина. Хотя далее, после выполнения ХП БД, в файле .php написаны ещё ряд действий. Если же выполнение ХП по условиям быстротечно, то файл .php выполняется весь. Такое впечатление что оdbc_exec отваливается либо давиться большим обьёмом. odbc_execute не возвращает ни FALSE ни TRUE... ХП БД отработала и всё.
2. armancho7777777 - 17 Февраля, 2017 - 13:42:17 - перейти к сообщению
Код-то где?
3. Угловой - 20 Февраля, 2017 - 05:25:44 - перейти к сообщению
Добрый день!
Понедельник. Снова на работе. Относительно вопроса по коду:
PHP:
скопировать код в буфер обмена
  1. $db = odbc_connect($ODBC__, $user__, $pass__) or die("Could not connect to ODBC database/Нет соединения с ODBC BD");
  2. $no_commit = odbc_autocommit($db, FALSE);
  3.  
  4. if($_SERVER['REQUEST_METHOD'] == 'GET'){
  5.     $p_1 = $_REQUEST['p__1'];
  6.     $p_2 = $_REQUEST['p__2'];
  7.     $p_3 = $_REQUEST['p__3'];
  8.  
  9.     $result_2 = odbc_exec($db, "CALL WEB.web_1( to_date('" . $p_1 . "','DD/MM/YYYY HH24:MI:SS')," .
  10.         $p_2 . "," . $p_3 . ", 1,'" . $user__ . "' )") or die(" Не могу выполнить exec_2");
  11.  
  12.     /*   И тут я уже пытаюсь хоть что то получить  */
  13.  
  14.     if(empty($result_2)){
  15.         $flag = false;
  16.     } else {
  17.         $flag = true;
  18.     }
  19.  
  20.     if($flag){
  21.         echo "<br>   Формирование завершено!</br> ";
  22.         odbc_commit($db);
  23.     } else {
  24.         echo "<br>Ошибка при сохранении изменений  </br> " . $txt__error;
  25.         odbc_rollback($db);
  26.     }
  27. }


Процесс вызываемой процедуры вижу в БД, отрабатывает до конца и ждёт либо соmmit либо rollback, но .php останавливается на этом месте. Однако, если параметры вызываемой процедуры не слишком "трудозатратны" например период дат лишь за одни сутки, .php выполняется до конца. Если же период месяц, год - то туши свет.
Настройки сервера?
(Добавление)
Господа. снимаю вопрос.

В php.ini max_execution_time был равен 30 сек.
Увеличил, пока всё заработало.

Вот почему только .gif крутился по полной - пока не отработает процедура?! Не понял

Спасибо.

 

Powered by ExBB FM 1.0 RC1