Progress 9.1D ODBC connection fails

tjessy

New Member
hi there,

we have a little trouble getting the bundled ODBC driver (Merant 3.60 32-bit Progress SQL-92 v9.1D) work with Progress 9.1D.
During DNS creation with the correct data it says "[DataDirect-Technologies][ODBC Progress Driver][Progress] Internal Error -20000 (see dsmret.h) in SQL from subsystem DSM SERVICES function dsmRecordGet called from pro_scan__File on for . Save log for Progress technical support." when we try to test the connection. Tried also another ODBC driver from OpenLink:Generic ODBC driver , which simply says Timeout after a while.

Do we need to create a specific user or right to access Progress through
ODBC ? Or any other idea what the solution could be ?

---> edit
Now we are one step further.
Connect is ok on a single volume db.
Problem we have an existing db with 11 files and need to connect with ODBC.
The above described failure only comes with the multi volume db.
Same failure on Linux console with SQLexp tool.

Any idea how to connect to a multivolume db?


Thanks in advance,
Jess
 

Steven Peeters

New Member
I know this is old but this error still persists in OE 11.5.1.
A more detailed description of the -20000 error says the following: "buffer supplied to dsmRecordGet is not large enough to hold the record." (Gemini/dsmret.h at master · TangentOrg/Gemini · GitHub)

This problem occured for us when we tried to combine 2 tables in a single query statement.
After figuring out what the error code meant, I investigated the record sizes of the tables used in the query-statement. (by using the RECORD-LENGHT attribute in 4GL).
I found that there were a number of records at or nearing 32000 bytes in size. This was due to a data-conversion error on our part.
We corrected the data so the record-size went back to normal record-size (for the table) and the issue was solved.

I'm not sure though how the query is supposed to work when the records actually have the 32000 byte size and it's not due to an error.
Seems like a bug to me..
 
Top