Easysoft ODBC-ODBC Bridge

Why do parameterised inserts appear to hang and my OOB Server is using over 90% of cpu?

Article:
00711
Last Reviewed:
28th October 2008
Revision:
3

This was first reported to us from a customer using Perl but it is not Perl related, it appears SQL Server 7 specific. If you call SQLDescribeParam after preparing a parameterised insert but the SQL is incorrect the SQL Server ODBC driver talking to SQL Server 7 does not appear to return from the SQLDescribeParam call.

e.g.

insert into table values (column1, column2) (?,?)

Note this SQL is incorrect as the "values" should come after the column names.

The sequence of ODBC calls is:

SQLPrepare("insert into table values (column1, column2) (?,?)")
SQLNumParams() returns 2 correctly
SQLDescribeParam(1) hangs never returning

It appears the SQL Server ODBC driver rearranges the SQL to issue a select statement on the table for the specified columns so it can find out column information to be returned as parameter information. In the case of incorrect SQL, this process does not appear to work to SQL Server 7.

Applies To

Knowledge Base Feedback

* Did this content help you?
* Please select one option based on your first choice:

(* Required Fields)


Oracle is a registered trademark of Oracle Corporation and/or its affiliates.