登陆 免费注册 提交网站
站长资讯 >> 站长学院 >> 数据库类
 2012-01-11 12:26浏览: 6103 次

游标不包括正在修改的表,或该表不能通过此游标更新==>解决办法

出现这个问题的前提可能是:

Microsoft OLE DB Provider for SQL Server 错误 '80004005'

在 sys.servers 中找不到服务器 '***'。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserver 以将服务器添加到 sys.servers。

先出现的这个问题!解决办法是:

select * from sys.servers (查看系统表,看原来的服务器名)

sp_dropserver '原来的服务器名' (删除原来的服务器名)

sp_addserver '现在的服务器名' (添加现在的服务器名)

sp_serveroption '现在的服务器名','data access', 'true' (设定 SQL Server 选项,使其允许加入linked server)

修改了计算机的名字,就出现数据表所有者的问题,然后用系统的存储过程修改表的所有者,就出现了这个问题。

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e23'

[Microsoft][ODBC SQL Server Driver][SQL Server]此游标不包括正在修改的表,或该表不能通过此游标更新。

这种错误通常是更改了计算机机器名引起的

解决办法:

打开查询器,执行

EXEC select @@servername

EXEC sp_dropserver @@servername

EXEC sp_addserver [new_name], local

第一行是查出老的实例名

第二行是删除老的实例名

第三行是 ‘new_name’ 是新的实例名,也就是当前计算机名

执行完成后 重启计算机 然后才能生效,务必要重启计算机,否则不会生效

这是网上通用的做法,如果你的系统出现上面问题就此解决后,那恭喜你。

可惜我的问题没解决,于是我按如下方法继续处理。

sp_addserver [new_name], local

没有解决。那就再删除所有的服务器。

不知道关联了多少服务器,就使用 sp_helpserver 查看有多少服务器!

sp_dropserver @@服务器名 来删除所有服务器。

重建

sp_addserver '新服务器名', 'local', 'duplicate_OK'

然后重起计算机!

如果讲解的不够详细,请联系本站(爱死啦站长)站长

网站首页 - 关于我们 - 联系我们 - 友情链接 - 帮助中心
Copyright ©2007-2022 www.Aisila.com All Rights Reserved
苏ICP备20008864号-4