虚拟化容器,大数据,DBA,中间件,监控。

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

16 11月
作者:admin|分类:应用管理

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

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

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'

然后重起计算机!


浏览2273 评论0
返回
目录
返回
首页
Server 对象 错误 'ASP 0177 : 800401f3' Server.CreateObject 失败 Ping 出现: TTL expired in transit.