Feedback
Did this article resolve your question/issue?

   

Article

Using 17 parameters causes an abort with Oracle ODBC driver.

Information

 
TitleUsing 17 parameters causes an abort with Oracle ODBC driver.
URL NameUsing-17-parameters-causes-an-abort-with-Oracle-ODBC-driver
Article Number000185176
EnvironmentProduct : Connect for ODBC Oracle Wire Protocol driver
Version : All supported versions
Database : Oracle
OS : All supported platforms
Application : All supported applications
Question/Problem Description
When using an update statement with 17 parameters that needs to be described using SQLDescribeParam, an abort occurs when the 17th call to SQLDescribeParam is made.
 
Steps to Reproduce
Clarifying Information
The issue does not occur when the statement does not have 17 parameter markers, like 16 or 18.
Error Message
Defect NumberDefects 41721, 42311
Enhancement Number
Cause
The ArgumentList array memory is incremented in multiples of 16. In the case of 17 parameters (of which 16 are num args and 1 where arg) when the isXMLTypeFunction is called with pos=17, we are trying to access 16th (zero based) element in the ArgumentList array. As the ArgumentList is allocated only with 16 items trying to get item at 16 index is crashing.
Resolution
Fixed in hot fix 06.00.0297, 06.12.0224, 07.01.0144, 07.16.0265.
Refer to Connect for ODBC and Connect64 hot fix download and install instructions for instructions on how to download and install the hot fix.
Workaround
Notes
Last Modified Date6/9/2016 7:38 AM
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.