Crewone
New Member
Problem with ODBC access
After a day of debugging we are running into a problem with the easysoft oob bridge in combination with php5, unixodbc on a 64 bit debian etch machine.
We have a progress 10.1A server on windows.
Queries work fine, but after 100 "selects" on a single connection we get the following error:
[unixODBC][DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE] Number of open cursors exceeds limit (7612), SQL state S1000
This happens with any select statement on any database. (We have three)
We have increased the maximum number of cursors to 500.
We tried different cursor types in the ODBC driver.
In the odbc-odbc bridge from easysoft: we tried connection pooling on/off, we tried "Free statements" on/off. (And about every other option.)
A simple PHP script to illustrate my problem:
----------
$db = connect...
for( $i = 0; $i < 500; $i++ )
{
// next line will fail after 100 iterations
$res = my_odbc_sql( "SELECT * FROM PUB.Rela WHERE \"Rela-kn-exact-admnr\" = 709 AND \"Rela-ki\" = 152", $db );
odbc_result_all( $res ); // print HTML
odbc_free_result( $res );
}
--------
Any ideas? Thanks!
After a day of debugging we are running into a problem with the easysoft oob bridge in combination with php5, unixodbc on a 64 bit debian etch machine.
We have a progress 10.1A server on windows.
Queries work fine, but after 100 "selects" on a single connection we get the following error:
[unixODBC][DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE] Number of open cursors exceeds limit (7612), SQL state S1000
This happens with any select statement on any database. (We have three)
We have increased the maximum number of cursors to 500.
We tried different cursor types in the ODBC driver.
In the odbc-odbc bridge from easysoft: we tried connection pooling on/off, we tried "Free statements" on/off. (And about every other option.)
A simple PHP script to illustrate my problem:
----------
$db = connect...
for( $i = 0; $i < 500; $i++ )
{
// next line will fail after 100 iterations
$res = my_odbc_sql( "SELECT * FROM PUB.Rela WHERE \"Rela-kn-exact-admnr\" = 709 AND \"Rela-ki\" = 152", $db );
odbc_result_all( $res ); // print HTML
odbc_free_result( $res );
}
--------
Any ideas? Thanks!