torsdag 10 november 2011

3 ways to solve Invalid cursor state (SQL -24000)

Today I got the following failure of execution in my perl script:


[Thu Nov 10 09:10:00 2011] [error] [client 192.168.136.176] DBD::ODBC::st execute failed: [FreeTDS][SQL Server]Invalid cursor state (SQL
-24000)(DBD: st_execute/SQLExecute err=-1)

Checking the version of  DBI:
$perl -le 'eval "require $ARGV[0]" and print ${"$ARGV[0]::VERSION"}' DBI

1.14
The latest DBI version is :
1.58

This issue because I use an older version of DBI that has not be uppgraded tio the newer that can handle MAS (Multiple Active Statement)

FreeTDS does not support Multiple active statements . You have to find a workaround If we still want to use our old DBD::ODBC. Solution number one is to use disconnect/reconnect or the second solution is to use one selection for all information.The third is to sett the cursor type to 2 which have to be set on connect call. You can find more workarounds in this link  Multiple Active Statement (MAS) and DBD::ODBC.


    Inga kommentarer:

    Skicka en kommentar