Далее, имеется сервер, в котором она подсоединена в unixODBC.
Сервер Gentoo, PHP-5.6.9, unixODBC-2.3.2
Имеется скрипт на PHP, который подключается к этой базе данных, делает выборку, записывает её в файл. Всё просто. Но понадобилось нарастить функциональность, для чего потребовалось ещё одно обращение к этой БД. Вот тут-то и началось. При втором обращении выпадает и кричит, что мало памяти.
Для демонстрации этого эффекта был написан скрипт...
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- #!/usr/bin/php
- <?php
- # Устанавливаем системные переменные
- date_default_timezone_set("Europe/Moscow");
- setlocale (LC_ALL, "ru_RU.WIN1251");
- # Подключаемся к базе данных
- $odbc_header = odbc_connect("acs", "", "");
- # Формируем и выполняем 1-й запрос на получение информации
- $odbc_query = "select distinct DEPARTMENT from PERSONNEL";
- $odbc_result = odbc_prepare($odbc_header, $odbc_query);
- odbc_execute($odbc_result);
- # Построчно обрабатываем полученные из базы данных записи и выводим их
- while ($pers_info = odbc_fetch_array($odbc_result)) echo $pers_info["DEPARTMENT"]."\n";
- # Переподключаемся к базе данных
- #odbc_close($odbc_header);
- #$odbc_header = odbc_connect("acs", "", "");
- # Формируем и выполняем 2-й запрос на получение информации
- $odbc_query = "select distinct FIRMA from PERSONNEL";
- $odbc_result = odbc_prepare($odbc_header, $odbc_query); # Здесь обваливается...
- odbc_execute($odbc_result);
- # Построчно обрабатываем полученные из базы данных записи и выводим их
- while ($pers_info = odbc_fetch_array($odbc_result)) echo $pers_info["FIRMA"]."\n";
- odbc_free_result($odbc_result);
- odbc_close($odbc_header);
- ?>