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



这个问题一般存在于sql2005更换服务器后。直接复制的数据库物理文件最多。内部的主机名变更导致。

现象一:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

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

/fcj/inc/sql.asp,行 186

现象二:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC SQL Server Driver][SQL Server]未将服务器 'xok.la' 配置为用于 DATA ACCESS。

/fcj/inc/sql.asp,行 186

现象三:

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

解决:

如果是直接更换的服务器,那么主机名更换了,以前存在数据库的主机名也需要删除。进入SQL2005查询器

执行:

sp_helpserver

可以看到以前的主机名信息。可以看到图中的”GZLK-C68LZFV5SO”,

删除命令:

sp_dropserver @server='GZLK-C68LZFV5SO' 

添加新主机,假设我现在的主机名是xok.la

sp_addserver @server='xok.la',@local=local 

这时候会报错:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC SQL Server Driver][SQL Server]未将服务器 'xok.la' 配置为用于 DATA ACCESS。

/fcj/inc/sql.asp,行 186

设置模式:

USE master 

EXEC sp_serveroption 'xok.la', 'data access', 'on' 

可能会遇到:

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

重新启动sql2005服务,问题解决。

标签: mssql

相关文章

评论已关闭