Cannot declare a cursor that selects from a 2005 linked server - dsmdb

05-Dec-07 10:36:01
I have a query that creates a cursor and fetches through it.  It is on a SQL
2000 machine and the query in the cursor pulls from a linked server to SQL
2005.  It worked fine when the linked server was to a 2000 database.  I can
run the select outside the cursor just fine.  The errors I'm recieving are:
Server: Msg 8180, Level 16, State 1, Line 2
Statement(s) could not be prepared.
Server: Msg 102, Level 15, State 1, Line 2
Incorrect syntax near 'Tbl1001'.
Server: Msg 1018, Level 15, State 1, Line 2
Incorrect syntax near 'FASTFIRSTROW'. If this is intended as a part of a
table hint, A WITH keyword and parenthesis are now required. See SQL Server
Books Online for proper syntax.
Remote tables are not updatable. Updatable keyset-driven cursors on remote
tables require a transaction with the REPEATABLE_READ or SERIALIZABLE
isolation level spanning the cursor.


I get the same error even if I just select * from linkedservertable  inside
the cursor.
Any help is appreciated.
Thanks,
button
 
 

Cannot declare a cursor that selects from a 2005 linked server - Thumperma

19-Dec-07 07:34:06
I had the same issue after upgrading to SQL2005,  I added the "For
READ ONLY" option on the declare and it works fine now.
button
 
Connection problem to Informix from SQL Server 2005 with Unicode data