解决"链接服务器 '(null)' 的 OLE DB 访问接口 'STREAM' 返回了对列 '[!BulkInsert].fieldname' 无效的数据"的一种替换方法

  最近在合并两个SQL Server数据库的数据时不幸发生了这种错误,数据只能导入1433条,而其余的上万条数据都无法导入。

  我的环境是SQL Server2008 sp1下,使用SQL Server Integration Services 10.0进行数据导入操作。

  错误信息片段如下:

  * Error 0xc0202009: Data Flow Task 1: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.
    An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 10.0"  Hresult: 0x80004005  Description: "链接服务器 '(null)' 的 OLE DB 访问接口 'STREAM' 返回了对列 '[!BulkInsert].Description' 无效的数据。". 

  (SQL Server Import and Export Wizard)

  从网上搜索到的结果里,主要说是在SQL Server启动过程中增加参数4808,但是这种方法没有解决我的情况,于是自己尝试了以下几种方法。

  由于我的数据源与数据目的都是SQL Server,因此选择的余地还是比较大的。第一次是源数据库和目标数据库都使用[SQL Server Native Client 10.0],也就是默认值,但是失败,而后都使

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
链接服务器OLEDB访问接口返回对列无效数据时,这意味着在查询或访问数据库时,所获得的结果列与预期的不匹配或不存在。 出现此问题的原因可能是以下几种情况之一: 1. 查询语句错误:可能是SQL查询语句的列名拼写错误、使用了不存在的表名或列名,或者查询条件不正确。建议检查查询语句的表名和列名是否正确,并确保查询条件的准确性。 2. 数据库结构更改:数据库的结构可能已经发生了变化,例如表结构被修改或重新命名了列名。这种情况下,原来的查询语句可能会导致对列无效数据返回。需要对查询语句进行相应的调整,以适应新的数据库结构。 3. 数据类型转换错误:查询结果的某些数据可能无法正确转换为所期望的数据类型。这可能是因为查询结果的某些数据类型与预期的不匹配,例如将字符串值转换为数值类型时发生错误。在这种情况下,需要检查查询结果列的数据类型,并确保进行正确的数据类型转换。 4. 访问权限问题:如果当前用户没有足够的权限来访问数据的某些表或列,那么在查询时可能会返回对列无效数据。建议检查当前用户的权限设置,并确保具有足够的权限来访问所需的表和列。 针对以上可能的原因,您可以逐一检查,并根据具体情况进行相应的调整,以解决链接服务器OLEDB访问接口返回对列无效数据的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值