We currently use FDM to load data from QAD to our HFM environment using the Progress OpenEdge 10.1C Driver to connect to our QAD databases. The other day we got an error message which read:
[DataDirect][ODBC Progress OpenEdge Wire Protocol driver]Error in row.
At line: 90
The error went away after about 20 minutes and we were finally able to complete our loading process, but I have been asked by my team here at my company to investigate and find the root cause of this issue. I am not too familiar with OpenEdge and am more of an Oracle application guy, but I figured this would be the best place to post this issue. Please let me know if you have any insight into why this issue may have arisen.
Are you still able to reproduce this error, or are your runs always successful now? Did you capture any logs (ie ODBC trace) when the error was occurring? Could the data in your QAD databases have been changing while performing the load?
As you may have surmised, this indicates that some sort of error occurred while fetching data. The exact problem could vary based on the cursor type being used and the ODBC API calls being used to fetch the data. To name a couple examples, it could result from attempting to select a row that has been deleted, or some sort of issue converting the data from the value returned by the database to the type requested by the application. To narrow it down further, you'll need to be able to capture an ODBC trace of the problem. Whenever possible, capturing a snoop of the problem is also very helpful (www.datadirect.com/.../download-tools). If you capture an ODBC trace of a working example, it might allow us to narrow it down a bit more, but we wouldn't be able to give you an answer with any certainty if you're no longer able to reproduce the issue.
Thanks for the feedback brodym. This is the first time I have seen this error and the QAD guys checked the openlink logs and they didn't see anything that would indicate any type of error from their end. I will take your advice next time and try to capture a trace if I can catch the issue while it is occuring.