对远程sql server2000服务器上的一个表作游标时提示出错

zghnaywangzy 2007-08-07 06:41:15
各位老师好。
我建立了一个游标,把远程服务器上的一个表赋给这个游标,但提示出错。游标如下:
declare @ip varchar(50)
declare c1 cursor for
select dm from [192.168.65.23].qch.dbo.pinm1
/*
注:192.168.65.23为一个远程sql server服务器的IP地址
*/
open c1

错误信息如下:
远程表不可更新。远程表上的可更新键集驱动游标要求事务具有扫过游标的 REPEATABLE_READ 或 SERIALIZABLE 隔离级别。

怎样解决这个问题,请指教。
...全文
203 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
解决办法如下:

declare c1 INSENSITIVE cursor for
即加上 INSENSITIVE 关键字即可。


附:
游标的敏感性行为定义了对基行(用于建立游标)所做的更新是否对游标可见。敏感性也定义了能否通过游标进行更新。

如果在 Transact-SQL DECLARE 语句中指定了 INSENSITIVE 关键字,或在 ODBC 中将 SQL_ATTR_CURSOR_SENSITIVITY 设置为 SQL_UNSPECIFIED 或 SQL_INSENSITIVE,游标将不反映数据修改。游标为只读且不支持更新。

如果在 Transact-SQL DECLARE 语句中省略了 INSENSITIVE 关键字,或在 ODBC 中将 SQL_ATTR_CURSOR_SENSITIVITY 设置为 SQL_SENSITIVE,游标可以反映由当前用户所做的或由其他用户提交的数据修改。除使用只读游标外,可以使用游标进行定位更新。

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧