涉及的服务器有三台:
原服务器:win2000+sql 2000
新服务器:win2003+sql 2005
数据平台服务器:win2000+sql 2000
数据转移方式:从原服务器导出建库脚本,在新服务器上建立空库后运行,然后再从数据平台服务器抽取一次数据,在抽取其中一个表时,报“返回了对列****无效的数据”错,用原服务器运行无错,直接查看报错行,没有找到问题,于是直接从原服务器上把数据insert select到新服务器。
将原来使用的ASP程序从原服务器复制到新服务器,进行报数据库联接错,修改Provider值为SQLNCLI.1;后正常。
update数据时,报错,将conn.execute sql,rs修改为conn.execute(sql)后正常。
在从数据平台服务器查询数据时,又报错,报的应该和数据转移时的错误是一样的:
Microsoft SQL Native Client 错误 '80040e14'
链接服务器 'ck129' 的 OLE DB 访问接口'SQLNCLI' 返回了对列 '[ck129].[basedb].[dbo].[branch].branch_name_chn' 无效的数据。
/search.asp,行 41
同时的程序在原服务器上运行正常通过(同时运行,一样的程序)
请大家帮我考虑一下是什么情况引起的呢?
10 个解决方案
#1
升级到SQL Server 2005的常见问题解答
http://database.ctocio.com.cn/tips/314/7573314.shtml
http://database.ctocio.com.cn/tips/314/7573314.shtml
#2
对问题的补充:
asp程序中运行的SQL在2005中直接运行的话,报错如下:
消息 7339,级别 16,状态 1,第 1 行
链接服务器 'ck129' 的 OLE DB 访问接口'SQLNCLI' 返回了对列 '[ck129].[basedb].[dbo].[branch].branch_name_chn' 无效的数据。
ck129是用以下方法连接的:
exec sp_addlinkedserver 'ck129','','SQLOLEDB','192.168.32.129'
exec sp_addlinkedsrvlogin 'ck129','false',null,'ck','******'
go
谢谢大家。
asp程序中运行的SQL在2005中直接运行的话,报错如下:
消息 7339,级别 16,状态 1,第 1 行
链接服务器 'ck129' 的 OLE DB 访问接口'SQLNCLI' 返回了对列 '[ck129].[basedb].[dbo].[branch].branch_name_chn' 无效的数据。
ck129是用以下方法连接的:
exec sp_addlinkedserver 'ck129','','SQLOLEDB','192.168.32.129'
exec sp_addlinkedsrvlogin 'ck129','false',null,'ck','******'
go
谢谢大家。
#3
1楼潇洒老乌龟给的文档已经看过了,没有涉及到这个问题的,不好意思了~~
#4
再顶起来,麻烦大家帮忙看一看,很急的~~~
#5
branch_name_chn 这一列的数据类型是什么?是用户自定义数据类型吗
#6
是nchar(50),不是自定义数据类型。
#7
客户机上的oledb for sql server是否支持2005,是否最新的
#8
直接在sql2005的查询器中运行话,也是一样的报错,详情请看2楼
#9
要装上SQL 2005 的补丁包.好像是SP1
#10
已经解决了,原因是数据平台服务器的数据中,branch_name_chn有一条记录可能会有半个汉字字符,用2000没问题,但2005就报错了。
将那条记录再update了一次就可以了。
谢谢大家的关注,结帐。
将那条记录再update了一次就可以了。
谢谢大家的关注,结帐。
#1
升级到SQL Server 2005的常见问题解答
http://database.ctocio.com.cn/tips/314/7573314.shtml
http://database.ctocio.com.cn/tips/314/7573314.shtml
#2
对问题的补充:
asp程序中运行的SQL在2005中直接运行的话,报错如下:
消息 7339,级别 16,状态 1,第 1 行
链接服务器 'ck129' 的 OLE DB 访问接口'SQLNCLI' 返回了对列 '[ck129].[basedb].[dbo].[branch].branch_name_chn' 无效的数据。
ck129是用以下方法连接的:
exec sp_addlinkedserver 'ck129','','SQLOLEDB','192.168.32.129'
exec sp_addlinkedsrvlogin 'ck129','false',null,'ck','******'
go
谢谢大家。
asp程序中运行的SQL在2005中直接运行的话,报错如下:
消息 7339,级别 16,状态 1,第 1 行
链接服务器 'ck129' 的 OLE DB 访问接口'SQLNCLI' 返回了对列 '[ck129].[basedb].[dbo].[branch].branch_name_chn' 无效的数据。
ck129是用以下方法连接的:
exec sp_addlinkedserver 'ck129','','SQLOLEDB','192.168.32.129'
exec sp_addlinkedsrvlogin 'ck129','false',null,'ck','******'
go
谢谢大家。
#3
1楼潇洒老乌龟给的文档已经看过了,没有涉及到这个问题的,不好意思了~~
#4
再顶起来,麻烦大家帮忙看一看,很急的~~~
#5
branch_name_chn 这一列的数据类型是什么?是用户自定义数据类型吗
#6
是nchar(50),不是自定义数据类型。
#7
客户机上的oledb for sql server是否支持2005,是否最新的
#8
直接在sql2005的查询器中运行话,也是一样的报错,详情请看2楼
#9
要装上SQL 2005 的补丁包.好像是SP1
#10
已经解决了,原因是数据平台服务器的数据中,branch_name_chn有一条记录可能会有半个汉字字符,用2000没问题,但2005就报错了。
将那条记录再update了一次就可以了。
谢谢大家的关注,结帐。
将那条记录再update了一次就可以了。
谢谢大家的关注,结帐。