游标不包括正在修改的表,或该表不能通过此游标更新
这个问题一般存在于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服务,问题解决。
评论已关闭