Consultor Eletrônico



Kbase 21199: Error 7511 Accessing Database Via ODBC
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   26/07/2006
Status: Verified

FACT(s) (Environment):

Progress 9.1x
OpenEdge 10.x

SYMPTOM(s):

SQL-92 ODBC Driver

SQL-92 JDBC Driver

Error accessing database with either the SQL-92 ODBC driver or the SQL-92 JDBC driver.

[MERANT][ODBC PROGRESS driver][PROGRESS] Cursor not opened. (7511)

CAUSE:

There is a parameter in the ODBC.INI file called ArraySize. It contains all the handles for the cursors that have been opened from the 3rd party application. It is likely that the array's limit has been reached. This can be caused by lengthy queries and also by not specifically closing the cursors.

FIX:

To get around the error:

1. If possible, when exiting a transaction in the application, issue either a "commit work" (to commit all changes to the database) or a "rollback work" (to undo all changes currently being made to the database) statement within the application. This will also close all the currently open cursors.

2. When a specific cursor is no longer needed, close it with the command: Close cursor (but this works only for an ESQL/C application).

If neither of the above 2 options are possible, then edit the ArraySize Registry entry by running the Registry Editor program (regedit.exe or regedt32.exe) and going to the key below:

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\<datasourcename>

Right-clicking on ArraySize will allow modification of the number of cursors that are permitted. The default is set to 50.