弱电初学者 发表于 2011-3-11 15:28:23

游标不包括正在修改的表,或该表不能通过此游标更新。

游标不包括正在修改的表,或该表不能通过此游标更新
<br />
<br />数据库更换新服务器出现如下错误时
<br />
<br />错误一:
<br />在 sys.servers 中找不到服务器 &#39;anywolfs.com&#39;。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserver 以将服务器添加到 sys.servers。
<br />
<br />错误二:
<br />未将服务器 &#39;anywolfs.com&#39; 配置为用于 DATA ACCESS。
<br />
<br />错误三:
<br />此游标不包括正在修改的表,或该表不能通过此游标更新。
<br />
<br />在asp中如果我使用rs.add和rs.update来添加数据就会报错误三,如果我使用insert into,就不会发生任何错误。在网上搜索半天,发现解决方法挺好用,方法如下:
<br />
<br />解决:
<br />
<br />如果是直接更换的服务器,那么主机名更换了,以前存在数据库的主机名也需要删除。进入SQL2005查询器
<br />执行:
<br />
<br />EXEC select @@servername
<br />EXEC sp_dropserver @@servername
<br />EXEC sp_addserver , local
<br />
<br />第一行是查出老的实例名
<br />第二行是删除老的实例名
<br />第三行是 ‘new_name’ 是新的实例名,也就是当前计算机名,在重启一下sql2005服务,
<br />
<br />执行完这一步,这时候如果asp会报错:
<br />
<br />Microsoft OLE DB Provider for ODBC Drivers 错误 &#39;80004005&#39;
<br />未将服务器 &#39;anywolfs.com&#39; 配置为用于 DATA ACCESS。
<br />
<br />需要设置模式,执行:
<br />EXEC sp_serveroption &#39;anywolfs.com&#39;, &#39;data access&#39;, &#39;true&#39;
<br />
<br />这时如果asp遇到:
<br />
<br />此游标不包括正在修改的表,或该表不能通过此游标更新。
<br />
<br />
<br />则需要再重启sql2005,
<br />
<br />重启后还是没有解决问题,那么可以使用sp_helpserver 查看有多少实例名,然后统统都给他删掉(sp_dropserver @@服务器名&nbsp; &nbsp; 来删除所有服务器),在执行 sp_addserver 等其他操作。或者重新运行一下上面的命令,重新做一遍,重启sql2005解决不了问题可以重启服务器看看。
<br />
<br />我的就是重启服务器就解决。
页: [1]
查看完整版本: 游标不包括正在修改的表,或该表不能通过此游标更新。