[DataDirect][ODBC Progress OpenEdge Wire Protocol driver]Error in row.

rdekker

New Member
Sometimes when I run a query for creating a recordset and iterate through the records I receive this error:

[DataDirect][ODBC Progress OpenEdge Wire Protocol driver]Error in row.

The problem is caused by the fact that one or more fields in the record holds more data than the display format for that field allows. For example field description is of string type and its display format is 60 characters. But in fact the field holds 80 characters. When this is the case I receive this error when the loop iterates to that particular record. I'm making a small executable in VB6 with On Error Resume Next

When the error is raised for the error in row the next time I try to move to the next record VIsual Basic crashes. Is there some way to prevent this error from happening (just read the 80 characters without error)? In this particular case I don't even know which field holds to much data.
 

RealHeavyDude

Well-Known Member
In the Progress/OpenEdge database the field format is just the default input/output format and not what can be stored in the database field. That behavior is different from what you might know from other SQL databases. But, the Progress/OpenEdge database is not a SQL database in the first place ...

That's where the SQL width comes into play. It has been introduced to help with this issue. The dbtool utility has a menu option to fix the SQL widths so that they are sufficient.

dbtool <path-to-database>

Option 2 will do what you need.


HTH, RealHeavyDude.
 

RealHeavyDude

Well-Known Member
Please be aware that you might want to run this from time to time because it will only fix the SQL widths as they are at the time you run the utility.

Funky developers can become very creative when it comes down to storing data into character fields with funky things of all sorts :awink:


Regards, RealHeavyDude.
 

Stefan

Well-Known Member
And to keep the funky developers from being funky by mistake look at using the -checkwidth parameter on all development boxes.
 
Top