powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
25 сообщений из 27, страница 1 из 2
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39552275
grgr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть два сервера. На CentOS 6.8 и на Debian Jessie (8.8). На каждом есть apache, php, клиентские библиотеки Firebird и установлен пакет для ODBC (unixODBC и там, и там).

Детальные конфигурации:
CentOS 6.8, 64bit, PHP 5.3.3 (cli) (built: Aug 11 2016 20:33:53), apache2, php-odbc-5.3.3-48.el6_8.x86_64

Debian Jessie 8.8, 64bit, PHP 5.6.30-0+deb8u1 (cli) (built: Feb 8 2017 08:50:21), apache2, php5-odbc, unixodbc (oldstable,now 2.3.1-3 amd64 [installed])

Есть тестовый файл:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
#!/usr/bin/php
<?php
$connect = odbc_connect("ProgrDB","USERUSER","pwrdpwrd");

if(odbc_error($connect)) {
	$err = odbc_errormsg($connect);
	print $err;
}

	if ($connect <= 0) {
		echo 'c ' . odbc_error($connect), ' ', odbc_errormsg($connect);
	}
	else {
		$query = "select coalesce(title, '') from SITE_POSITIONS_LIST(0) ";
		$res = odbc_exec($connect, $query);
		if( $res <= 0 ) {
			echo 'e ' . odbc_error($res), ' ', odbc_errormsg($res);
		}
		else
		{
			echo 'All OK!';
		}
	}
?>



Целевой сервер с БД (еще одна машина) на Windows, там Firebird 3.0.2. Нареканий в работе всего, что с ним связано - нет.

Итак:
При выполнении на CentOS получаем 'All OK!'.

При выполнении на Debian

PHP Fatal error: Out of memory (allocated 262144) (tried to allocate 140307991625985 bytes) in /var/www/html/site/odbctest.php on line 15

Само соединение устанавливается и там, и там. Также работает вызов указанной функции напрямую из isql на Debain.

Что я делал, чтобы решить проблему:
Я узнал, что это ошибка может значить: 99,8% случаев в интернете касаются банального ограничения php по памяти. Но вряд ли 95 петабайт, это то, что нужно php, чтобы выполнить odbc_exec, который показывает 5 строк (из таблицы в 5 строк) типа таких:

Строка1
Строка2
Строка3
Строка4
Строка5

"Про 95 петабайт"
tried to allocate выдает немного разные значения, это один из результатов, в сообщении выше результат другой


Остальные 0.1% - это ошибки odbc драйверов, например проблемы с NULL из-за того, что кто-то перешел с архитектуры 32bit на 64bit, а драйвер сделал плохо. Вопрос расположения бита, который отвечает за NULL. Поэтому я добавил в код coalesce, хоть моя процедура и так не возвращает null значений.

А остальные - мой случай. У других пользователей (насчитал ровно 3 счастливчика на стековерфлоу, чьи вопросы, конечно, остались без ответа) требуются другие значения, скажем 13 экзабайт памяти...

Еще о настройках:
ProgrDB настроена в odbc.ini:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
[ProgrDB]
Description = Firebird connection to DB for site
Driver = Firebird64
Dbname = 192.168.0.20:E:\BASE\PRG.fdb
User = USERUSER
Password = pwrdpwrd
Role =
CharacterSet =
ReadOnly = No
NoWait = No

odbcinst.ini:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
[Firebird64]
Description = InterBase/Firebird ODBC Driver
Driver = /usr/lib/libOdbcFb.so
Setup = /usr/lib/libOdbcFbS.so
Threading = 1
FileUsage = 1
CPTimeout =
CPReuse =
Отличается только тем, что на CentOS пути немного другие: /usr/lib/odbc/

Я пытался понять, в чем моя ошибка, искал различия:
libOdbcFb.so одинаковые, libfbclient.so.3.0.2 взята на Debian с CentOS, там лежала в папке /usr/lib64, здесь отдельной папки в usr нет, по инструкциям еще размещают в /usr/lib.

Проверял работу strace-ом. Но это для меня сложновато: единственный кусок, который я отметил - вот:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
mmap(NULL, 139629387190272, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap(NULL, 134217728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7efe8c000000
munmap(0x7efe90000000, 67108864)        = 0
mprotect(0x7efe8c000000, 135168, PROT_READ|PROT_WRITE) = 0
mmap(NULL, 139629387059200, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
write(2, "PHP Fatal error:  Out of memory "..., 146PHP Fatal error:  Out of memory (allocated 262144) (tried to allocate 139629386793217 bytes) in /var/www/html/site/odbctest.php on line 15
) = 146
close(2)                                = 0

Не знаю, что и делать. Прошу, подскажите!

UPD 10.11.2017: Поставили PHP 7.0, ситуация не изменилась. Думаю на 1) odbc, 2) драйвер Firebird odbc, 3) звено связку php-odbc.

UPD 2:
"unixodbc trace log"Ошибки не вижу в логе, хотя выполнение скрипта завершилось ошибкой как обычно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
[ODBC][7660][1510327527.078817][__handles.c][460]
                Exit:[SQL_SUCCESS]
                        Environment = 0x560bc180d060
[ODBC][7660][1510327527.078879][SQLAllocHandle.c][375]
                Entry:
                        Handle Type = 2
                        Input Handle = 0x560bc180d060
[ODBC][7660][1510327527.078901][SQLAllocHandle.c][493]
                Exit:[SQL_SUCCESS]
                        Output Handle = 0x560bc1848c10
[ODBC][7660][1510327527.078921][SQLConnect.c][3703]
                Entry:
                        Connection = 0x560bc1848c10
                        Server Name = [ProgrDB][length = 7 (SQL_NTS)]
                        User Name = [USERUSER][length = 8 (SQL_NTS)]
                        Authentication = [********][length = 8 (SQL_NTS)]
                UNICODE Using encoding ASCII 'ISO8859-1' and UNICODE 'UCS-2LE'

[ODBC][7660][1510327527.166194][SQLConnect.c][4276]
                Exit:[SQL_SUCCESS_WITH_INFO]
[ODBC][7660][1510327527.166282][SQLAllocHandle.c][540]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x560bc1848c10
[ODBC][7660][1510327527.166347][SQLAllocHandle.c][1081]
                Exit:[SQL_SUCCESS]
                        Output Handle = 0x560bc1878f20
[ODBC][7660][1510327527.166377][SQLGetInfo.c][554]
                Entry:
                        Connection = 0x560bc1848c10
                        Info Type = SQL_FETCH_DIRECTION (8)
                        Info Value = 0x7fff16a35a54
                        Buffer Length = 4
                        StrLen = (nil)
[ODBC][7660][1510327527.166402][SQLGetInfo.c][617]
                Exit:[SQL_SUCCESS]
[ODBC][7660][1510327527.166420][SQLSetStmtOption.c][197]
                Entry:
                        Statement = 0x560bc1878f20
                        Option = SQL_ATTR_CURSOR_TYPE
                        Value = 3
[ODBC][7660][1510327527.166441][SQLSetStmtOption.c][474]
                Exit:[SQL_SUCCESS]
[ODBC][7660][1510327527.166460][SQLExecDirect.c][240]
                Entry:
                        Statement = 0x560bc1878f20
                        SQL = [select coalesce(title, '') from SITE_POSITIONS_LIST(0) ][length = 55 (SQL_NTS)]
[ODBC][7660][1510327527.171816][SQLExecDirect.c][503]
                Exit:[SQL_SUCCESS]
[ODBC][7660][1510327527.171845][SQLNumResultCols.c][156]
                Entry:
                        Statement = 0x560bc1878f20
                        Column Count = 0x7f915bc551d0
[ODBC][7660][1510327527.171877][SQLNumResultCols.c][248]
                Exit:[SQL_SUCCESS]
                        Count = 0x7f915bc551d0 -> 1
[ODBC][7660][1510327527.171905][SQLColAttribute.c][293]
                Entry:
                        Statement = 0x560bc1878f20
                        Column Number = 1
                        Field Identifier = SQL_DESC_NAME
                        Character Attr = 0x7f915bc5b280
                        Buffer Length = 256
                        String Length = 0x7fff16a35962
                        Numeric Attribute = (nil)
[ODBC][7660][1510327527.171933][SQLColAttribute.c][664]
                Exit:[SQL_SUCCESS]
[ODBC][7660][1510327527.171952][SQLColAttribute.c][293]
                Entry:
                        Statement = 0x560bc1878f20
                        Column Number = 1
                        Field Identifier = SQL_DESC_CONCISE_TYPE
                        Character Attr = (nil)
                        Buffer Length = 0
                        String Length = (nil)
                        Numeric Attribute = 0x7f915bc5b390
[ODBC][7660][1510327527.171970][SQLColAttribute.c][664]
                Exit:[SQL_SUCCESS]
[ODBC][7660][1510327527.171987][SQLColAttribute.c][293]
                Entry:
                        Statement = 0x560bc1878f20
                        Column Number = 1
                        Field Identifier = SQL_DESC_OCTET_LENGTH
                        Character Attr = (nil)
                        Buffer Length = 0
                        String Length = (nil)
                        Numeric Attribute = 0x7fff16a35968
[ODBC][7660][1510327527.172004][SQLColAttribute.c][664]
                Exit:[SQL_SUCCESS]
[ODBC][7660][1510327527.172565][SQLDisconnect.c][208]
                Entry:
                        Connection = 0x560bc1848c10
[ODBC][7660][1510327527.182080][SQLDisconnect.c][364]
                Exit:[SQL_SUCCESS]
[ODBC][7660][1510327527.182117][SQLFreeHandle.c][284]
                Entry:
                        Handle Type = 2
                        Input Handle = 0x560bc1848c10
[ODBC][7660][1510327527.182136][SQLFreeHandle.c][333]
                Exit:[SQL_SUCCESS]
[ODBC][7660][1510327527.182152][SQLFreeHandle.c][219]
                Entry:
                        Handle Type = 1
                        Input Handle = 0x560bc180d060
Есть подозрение на версию библиотеки: стоит последняя, стоит попробовать 2.2.12, пока не понятно как


UPD 3 : ситуация с попыткой обойти проблему еще более печальная. Поставил pdo_firebird через apt-get install php-pdo-firebird, всё отлично поставилось, но ошибка:
Код: plaintext
 SQLSTATE[HY000] [335545106] unknown ISC error 335545106 
, что, как я понимаю, значит, что pdo драйвер поддерживает максимум 2.5 FB, т.к. на сервере у нас 3.0, а такую ошибку последний раз я наблюдал именно в этом случае. Есть какой-то официальный невразумительный гайд по pdo в php, где файл получается командой из установленного сервера, что даже по определению - глупость, у меня нет никакого fb-сервера на linux.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39552277
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgr,

мне кажется, вопрос не по адресу, как минимум потому, что я не вижу тут слова Firebird ODBC.
https://sourceforge.net/projects/firebird/files/firebird-ODBC-driver/2.0.5-Release/

ошибка либо в php-odbc, либо в php, а этот раздел форума не про них.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39552290
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgrошибка:
Код: plaintext
 SQLSTATE[HY000] [335545106] unknown ISC error 335545106 
, что, как я понимаю, значит, что pdo драйвер поддерживает максимум 2.5 FB, т.к. на сервере у нас 3.0, а такую ошибку последний раз я наблюдал именно в этом случа335545106 - это isc_login_error
Нужно или подложить в PHP свежую версию fbclient (от 3.0), или настроить FB3 на сервере - разрешить аутентификацию старым клиентом
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39552331
grgr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladgrgrошибка:
Код: plaintext
 SQLSTATE[HY000] [335545106] unknown ISC error 335545106 
, что, как я понимаю, значит, что pdo драйвер поддерживает максимум 2.5 FB, т.к. на сервере у нас 3.0, а такую ошибку последний раз я наблюдал именно в этом случа335545106 - это isc_login_error
Нужно или подложить в PHP свежую версию fbclient (от 3.0), или настроить FB3 на сервере - разрешить аутентификацию старым клиентом

libfbclient взял с работающего сервера CentOS, fb3 тоже настроен, соединение именно с fb3 специально тестировали, когда еще были старые сервера (и клиенты) с fb2.5.

Поэтому и мысль была что готовый пакет php pdo firebird не рассчитан на 3.0.

kdvgrgr,

мне кажется, вопрос не по адресу, как минимум потому, что я не вижу тут слова Firebird ODBC.
https://sourceforge.net/projects/firebird/files/firebird-ODBC-driver/2.0.5-Release/

ошибка либо в php-odbc, либо в php, а этот раздел форума не про них.

Добавлю, хотя во втором предложении все написано. Вопрос именно про просто firebird, просто odbc. Даже такое просто требует как минимум libOdbcFb.so, которая явно имеет отношение к firebird как таковому.

То есть всем, кроме собственно сервера занимаются какие-то другие люди, и здесь я их, думаете, не найду? Это неутешительно. Потому как сервер есть, а инфраструктуры, получается, нет.

Я еще буду пробовать в питоном, потому как к нему есть отдельный драйвер на оффсайте.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39552504
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgrlibfbclient взял с работающего сервера CentOS
grgrDebian Jessie 8.8

а вы можете на 100% гарантировать, что эти две разные операционные системы полностью совместимы по ABI (двоичному программному интерфейсу) ?

в общем, вы тут рискуете...

"можно пропердолить, но можно и получить" (с)
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39552528
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgrДобавлю, хотя во втором предложении все написано. Вопрос именно про просто firebird, просто odbc.
у вас там написано unixodbc. Есть тут что-то про ФБ? Нет. "Просто odbc" - это интерфейс. А Firebird ODBC - это драйвер между этим самым ОДБЦ-интерфейсом и ФБ.
Версию последнюю я вам указал - 2.0.5. У вас в этой второй строке (и вообще нигде) таких цифр нет.
grgrТо есть всем, кроме собственно сервера занимаются какие-то другие люди, и здесь я их, думаете, не найду?
можно подумать, что прям все кто с ФБ работают, работают через php и odbc, причем на линуксах. Совершенно нет.

Ну а если даже, вдруг, проблема в Firebird ODBC - например, в совместимости с Debian - вам кроме автора драйвера вряд-ли кто ответит. И автор драйвера тут не появляется.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39552534
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgr,

кстати, а почему именно вот такая прослойка - php - php-odbc - unixodbc... FB? Почему не PDO, или еще что-то? Это уже какая-то готовая система, а вы ее портировать пытаетесь?
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39552971
grgr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,
по поводу Firebird. В моём вопросе всё пронизано словом Firebird. Конфиги, суть, всё.
Я понимаю, что драйвер это прослойка, но именно она не работает как надо.

Сейчас настроил полностью с нуля CentOS7, работает всё, а ошибка такая же

Код: plaintext
1.
PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 140496970187009 bytes) in /var/www/html/mysite/odbctest.php on line 16

Мне по условию задачи надо php (на нем сайт, нужно сделать буквально пустяковую интеграцию). Далее, работает ли "родной" драйвер из пакета (php-firebird|php-insetbase) с 3.0. По-моему нет. Я уже забыл начало этой дурацкой задачи.

Есть факт - работающий всего на одной машине php через php-odbc с Firebird (через libOdbcFb.so и libfbclient.so, которая по-моему вообще непосредственно имеет отношение к FB). Работающий на ура. Я сравнивал изменившиеся файлы на машинах (с их старта, текстовые файлы 100Мб и 10Мб), делал машину с нуля, и это не дает мне понять, почему не работает.

Примерная причина - неправильно скомпилированный драйвер для odbc для 64-х разрядных линуксов, возможно в купе с ошибками в unixODBC 2.2.12-2.2.14. Но не факт, что дело только в этом.

Какие у меня альтернативы? PDO на остальных машинах выдает ту же проблему с авторизацией, на рабочей - нет, всё работает. Отличия в настройках я не нашел. Куда копать? У меня fbclient 3.0.2.

Есть какой-то нормальный способ работать с ФБ из PHP в этих условиях?

p.s.: по-моему это самая логичная ветка форума, где я могу спросить.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39552980
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У unixodbc есть клиент (вроде isql) чтобы проверить работоспособность именно unixodbc+libOdbcFb ?

grgrPDO на остальных машинах выдает ту же проблему с авторизацией, на рабочей - нет, всё работает. Отличия в настройках я не нашел. Куда копать? У меня fbclient 3.0.2.А у PDO какой клиент ? IIRC, PHP любит работать только со своими приватными копиями клиентов

Где конфиг Firebird (только изменённые пар-ры), который "специально тестировали, когда еще были старые сервера (и клиенты) с fb2.5" ?

Вы не даёте ровно никакой значимой инф-ции, хотя слов пишете много...
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553006
grgr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотел подключить native. К php 7.0, на CentOS 7. Нашел самый невнятный док во вселенной:
https://www.firebirdsql.org/file/documentation/papers_presentations/Firebird_PHP_Linux.pdf
Иметь на клиенте сервер FB, чтобы собрать библиотеку для клиента, действительно? Мне даже становиться смешно (и грустно).

Ну это ведь не нормально. Готовые пакеты (которые есть, скажем выполняем "yum install php-firebird") работают максимум с 2.5. На форуме вижу вопросы по FB 4, инфраструктуры по FB 3 не вижу, вижу по 2.5. И как пользоваться?

---

По настройкам посмотрел сейчас. Единственное что бросилось в глаза, это

WireCrypt = Enabled

на сервере, при том что легаси аутентификация не включена, остальное по умолчанию, при установке совместимость не выбиралась (стоит сервер на windows). Сделано так из-за бага .NET драйвера под IIS.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553078
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgr,

дискуссия пошла неконструктивная. Я тут соорудил пирамиду, но она падает, и во всем виноват ваш Firebird, с моими десятью прослойками все нормально, а у вас нет инфраструктуры, и т.д.
А?
И на почти любой вопрос ответ совсем не про то.
grgr В моём вопросе всё пронизано словом Firebird. Конфиги, суть, всё.
да охренеть как пронизано, что мы до сих пор не знаем используемую версию Firebird ODBC.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553104
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgrПо настройкам посмотрел сейчас. Единственное что бросилось в глаза, это

WireCrypt = Enabled

на сервере, при том что легаси аутентификация не включенаНу так какие тогда вопросы к isc_login_error ? Лезем старым клиентом с легаси аутентификацией...
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553297
grgr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, спасибо, что тратите свое время!

>> мы до сих пор не знаем используемую версию Firebird ODBC
По этой ссылке взял libOdbcFb.so
https://sourceforge.net/projects/firebird/files/firebird-ODBC-driver/2.0.5-Release/OdbcFb-LIB-2.0.5.156.amd64.gz/download
Новее не нашел.

>> Лезем старым клиентом с легаси аутентификацией
Влад, может вы и правы, но тут два варианта:
1. Клиент - самый последний, который можно взять. Самый последний доступный клиент по линукс - старый, для 2.5? Сомневаюсь, потому что есть машина, единственная, на устаревшем CentOS5, где всё работает с новым FB3. К тому же на одном не получившемся "клиенте" (Debian) не работает через php и python, но через isql работает(!).
2. Я что-то сделал не так. Наиболее вероятно, так как один раз я машину настроил (CentOS5), однако все другие машины - по сохранившемуся гайду, по руководствам с firebirdsql.org (могу найти конкретную pdf-ку), по статьям в интернете - не получилось настроить. Есть ошибки:

a) PHP Fatal error: Out of memory (allocated 262144) (tried to allocate 140307991625985 bytes) in /var/www/html/site/odbctest.php on line 15
Про проблемы лечения этой ошибки я написал в первом посте.

b) File "/usr/lib/python3.4/site-packages/fdb/fbcore.py", line 734, in connect
"Error while connecting to database:")
fdb.fbcore.DatabaseError: ('Error while connecting to database:\n- SQLCODE: -999\n- unknown ISC error 335545106', -999, 335545106)
выглядит вот так в Питоне при использовании библиотеки libfbclient.so.2 напрямую (я проверил strace этот факт).

Однако я не могу понял, что не так, потому как эта же библиотека используется на рабочем сервере, все версии файлов идентичны и там клиент не считает, что он отстал от сервера по версии. Это сводит меня с ума.

Может быть есть какая-то другая версия libfbclient.so которая совершенно точно с поддержкой FB3, взятая у кого-то с работающего клиента, например?

>> У unixodbc есть клиент (вроде isql) чтобы проверить работоспособность именно unixodbc+libOdbcFb ?
Единственное, что есть родного к unixODBC это GUI-Qt пакет с графическими программами работы. У меня только консоль.
При этом на машине с CentOS7 вообще нет упоминания о unixODBC, есть pocoODBC или что-то похожее, а ошибки те же.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553333
grgr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я был нtправ в одном моменте: isql этот, что я указываю - оказался частью unixODBC. Не обращал внимания.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553341
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgr,

читай документацию. В данном случае release notes. Там описано как настроить firebird 3.0 для работы с fbclient 2.5.

И ещё раз уж ты не привязан к хостеру то самое время подумать о переходе на php 7.0. Там и x64 драйверы есть и сам пых работает в 2-3 раза быстрее предыдущих версий.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553429
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgrЯ узнал, что это ошибка может значить: 99,8% случаев в интернете касаются банального
ограничения php по памяти.

А ничего, что первая же ссылка в гугле
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=768309 ?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553435
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
15.11.2017 13:13, Dimitry Sibiryakov пишет:
>
> А ничего, что первая же ссылка в гугле...

гугель всем выдаёт разное. (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553549
grgr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
C php7.2 на CentOS 7 ошибка та же.

Намекните, как мне применить указанное Вами? Если честно, я это находил, поэтому и сделал кое какие выводы в первом посте. У меня нет таких ошибок с типами данных, которые приведены в пример. Ладно, учтем про Sybase, хотя у нас не Sybase. Такая же ошибка есть при работе с MS SQL, там тоже ошибка в нестандартных типах данных.

p.s.: сожалею, но редактировать посты я не могу, поэтому не могу дополнять первый пост дополнительной информацией.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553554
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgrЛадно, учтем про Sybase, хотя у нас не Sybase.

Ты дальше заголовка явно не читал. Баг - в PHP, драйвера тут ни при чём.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553597
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgr,

я не пробовал работать через odbc, но в

CentOS 7
PHP 7.0 x64
PDO
fbclient x64 3.0.1

Полёт нормальный. Никаких приседаний с авторизацией не делаю.

Да и со старым fbclient всё легко настраивается нужно только прочитать в RN https://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-compat-legacyauth.html

но ты можешь продолжать упорствовать
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553661
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grgrp.s.: сожалею, но редактировать посты я не могу, поэтому не могу дополнять первый пост дополнительной информацией.Пиши по ходу топика, побольше конкретных ответов на вполне конкретные вопросы, что-то интересное могу собрать и в первый пост, только я пока такой нужды не наблюдаю.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553710
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

кстати, почитав баг и пройдя по ссылкам я так и не понял, пропатчили это месте в апстриме PHP или решили латать дырку требуя в каждом драйвере, чтобы функция работала

Во всяком случае, как кажется тикета "PHP не проверяет возвращаемое значение" так и не создали
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553714
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochпропатчили это месте в апстриме PHP или

Ещё, апстрим-апстримом, но ведь в Дебиане "патч наложен и работает" на php 5.4

а у ТС'а - 5.6

в связи с чем дурацкий вопрос, либо у него древний 5.6, старее этого бага, либо в Дебиане пропатчили ТОЛЬКО 5.4 и не ап-портировали патч на 5.6
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553731
grgr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Как вы настроили PDO в php? я фундаментально глупости с компиляцией php с указанием каталога сервера fb(!) на этой же машине не понимаю. А в исходниках 7.2 php для CentOS у меня просто не было configure. Для простых людей как я, есть просто php-pdo-firebird файл или мануал лучший, чем копия с php.net?

И, пожалуйста, скажете, где вы взяли вашу версию libfbclient.so. Сравню.

Мне подойдет любой обходной путь для связи с fb3.0 из линукса. Буду счастлив.
...
Рейтинг: 0 / 0
При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
    #39553761
yellowboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

тема стала интересной. Хочется повторить твой стенд и показать автору, что всё же он где-то ошибается или убедиться в обратном.

Ставлю Centos 7, всё понятно. Далее PHP 7.0 x64. Из какого репозитория ты ставил PHP, remi (чтобы было максимальное совпадение)?
PDO: ставим последнюю версию php-pdo?
Настариваем ли мы каким-то образом сам PHP?
fbclient x64: где взять твою версию?
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / При исполнении обычного SQL запроса через ODBC требует ненормальное количество памяти
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]