[DataDirect][ODBC Oracle Wire Protocol driver]Invalid charac

Posted by Sandro Rodrigues on 24-Mar-2020 15:42

Hi all!

We have a customer performing a trial of DataDirect Oracle ODBC driver 32 bits.

He is experiencing this error only with Visual Studio. We found a kbase https://knowledgebase.progress.com/articles/Article/000054637 but it didn't work because it's a character datatype field not a date datatype field.

The customer also sent us a log file from a debug tool (attached). Could someone help us?

Best Regards!

[View:/cfs-file/__key/communityserver-discussions-components-files/16/LOG.log:320:240]

Posted by Sandro Rodrigues on 25-Mar-2020 12:54

Thank you Jhobson! I guess that solved the issue. Cheers!

All Replies

Posted by jhobson on 24-Mar-2020 17:24

It appears that the columns are being incorrectly bound. From the log file, here are the columns descriptions (SQLDescribeColW).
  WCHAR *             0x04B9DED0 [       2] "ID"
  SWORD *             0x04B9DE94 (3) SQL_DECIMAL
  SQLULEN *           0x04B9DE98 (12)
  WCHAR *             0x04B9DED0 [       4] "NOME"
  SWORD *             0x04B9DE94 (12) SQL_VARCHAR
  SQLULEN *           0x04B9DE98 (40)
  WCHAR *             0x04B9DED0 [      13] "TIPO_VENDEDOR"
  SWORD *             0x04B9DE94 (1) SQL_CHAR
  SQLULEN *           0x04B9DE98 (1)
  WCHAR *             0x04B9DED0 [       6] "CODIGO"
  SWORD *             0x04B9DE94 (3) SQL_DECIMAL
  SQLULEN *           0x04B9DE98 (3)
Here are the column bindings.
DtsDebugHost    6314-5be0 EXIT  SQLBindCol  with return code 0 (SQL_SUCCESS)
  HSTMT               0x070765A8
  UWORD                        1
  SWORD                        2 <SQL_C_NUMERIC>
  PTR                0x0AB71FA0
  SQLLEN                    19
  SQLLEN *            0x0070E4F0 (7380168)
DtsDebugHost    6314-5be0 EXIT  SQLBindCol  with return code 0 (SQL_SUCCESS)
  HSTMT               0x070765A8
  UWORD                        2
  SWORD                        1 <SQL_C_CHAR>
  PTR                0x00709CC8
  SQLLEN                     2
  SQLLEN *            0x057560D0 (91871608)
DtsDebugHost    6314-5be0 EXIT  SQLBindCol  with return code 0 (SQL_SUCCESS)
  HSTMT               0x070765A8
  UWORD                        3
  SWORD                        2 <SQL_C_NUMERIC>
  PTR                0x0AB769E0
  SQLLEN                    19
  SQLLEN *            0x0579D978 (91509080)
DtsDebugHost    6314-5be0 EXIT  SQLBindCol  with return code 0 (SQL_SUCCESS)
  HSTMT               0x070765A8
  UWORD                        4
  SWORD                        1 <SQL_C_CHAR>
  PTR                0x0AB7B420
  SQLLEN                    41
  SQLLEN *            0x0AB85450 (91509080)
In particular, column 2 is bound with a size of 2 but the described size is 40. Column 4 is bound with a size of 41. So truncation seems likely.
Column 3 is bound as a numeric but it's a character column. So an invalid character also seems likely.
John

Posted by Sandro Rodrigues on 25-Mar-2020 12:54

Thank you Jhobson! I guess that solved the issue. Cheers!

This thread is closed