1
votes

I have an ssis package which uses SQL command to get data from Progress database. Every time I execute the query, it throws this specific error:

ERROR [HY000] [DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Internal error -1 (buffer too small for generated record) in SQL from subsystem RECORD SERVICES function recPutLONG called from sts_srtt_t:::add_row on (ttbl# 4, len/maxlen/reqlen = 33/32/33) for . Save log for Progress technical support.

I am running the following query:

Select max(ROWID) as maxRowID from TableA
GROUP BY ColumnA,ColumnB,ColumnC,ColumnD
1
Do u have linked server configured correctly - Ven
Hi, yes, all the other queries are working fine except for this one. So linked server is configured correctly. - SamFenton
It looks like similar to memory exception, try adding column names on query as you are using group by - Ven
There would be maximum length of column in progress will be less than 32k, your query might be returning int value more than that - Ven
Hi, I have asked the person who has access to the database to run the query. And it runs fine in the database. Not sure why it is not running in ssis? Any ideas? - SamFenton

1 Answers

0
votes

I've had the same error. After change startup-parameter -SQLTempStorePageSize and -SQLTempStoreBuff to 24 and 3000 respectively the problem was solved. I think, for you the values must be changed to 40 and 20000.

You can find more information here. The name of the parameter in that article was a bit different than in my Database, it depends on the Progress-version witch is used.