on 05-29-2015 5:15 PM
Hi Dears,
I am working whit Visual Basic 6 and Sybase Adaptive Server Enterprise 15.0.3, and I get the following error:
ERROR 40002 TIEMPO DE EJECUCION
HY000: [DataDirect] [ODBC Sybase wire protocol Driver] Sybase does not allow more that one active statement when retrieving results with out a cursor
Can you help me, please!!!!
Hi friends.
Tis is the root cause ande the possible solutions:
The root cause:
The ODBC driver does not support transactions on a connection that has open sets of results. The result set must be opened and closed within the scope of the transaction. The ODBC driver does not preserve cursors in the transaction boundaries. This means that open result sets, but must be closed before entering or exiting the scope of a transaction. This is a limitation in the design of the ODBC driver used.
Recommended Solutions:
1. Check if there is an ODBC driver that does not have this limitation, and use it if exists.
2. Use DAO instead of RDO.
3. Rewrite the code to avoid this limitation. That is, that the result sets open but closed before entering or exiting the scope of a transaction.
It is not a backend problem, it corresponds to an error in the way you are programming, taking into account the limitations of the ODBC driver used.
Iván.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Sounds like you are processing results and attempting to also issue another query.
You need to finish processing the results and close the result set, before opening another query on the same connection.
As this is VB6, you may be experiencing this in an MDI interface where you have results in one MDI window and are opening another window for another query on the same connection.
Chris
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
81 | |
25 | |
12 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.