On Ubuntu Server 20 I am installing:

Firebird3.0-server, Firebird3.0-examples, and Firebird-dev
Unixodbc and unixodbc-dev
apache2
php7.4, libapache-mod-php, php-mysql, and php7.4-odbc
mysql-server


I am using the most update Firebird odbc driver I can find: May 18, 2017 OdbcFb-LIB-2.0.5.156.amd64.gz 348 KB Linux AMD64 Library


I am setting the odbc.ini and odbcinst.ini in /etc with the proper paths and I am able use the isql of unixodbc to connect to my firebird database on a Windows 10 machine. So isql -v FirebirdDSNtoUPS works just find and I can run queries.

However, when using odbc_connect in php, I am getting the following error:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 206158430229 bytes).

The query in question is not written incorrectly and is only returning a few lines from a possible pool of a few thousand. My entire database does not have 206158430229 bytes. The same query works fine in the isql. I have also installed Ubuntu Server 16 to the same machine and it does not have this issue.

Reading from other similar issues, apparently the SQLLEN being read as 32 bit in the odbc driver causes this and in all cases I can find dealing with IBMconnect and a few other database drivers for varying databases, the driver is at fault as it was compiled against an old version of unixodbc that is no longer supported in Ubuntu Server 20.

I have tried do some build makes to force a 32 bit install of unixodbc but have been unsuccesful.

I have also recreated this on 3 machines and each machine with Ubuntu Server 20 has the same outcome with the above error.

Does anyone have any idea of how to make this work on Ubuntu Server 20 as I do not want to use Ubuntu Server 16 since its EOL occurred a month or so ago.


_______________________________________________
Firebird-odbc-devel mailing list
Firebird-odbc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-odbc-devel

Reply via email to