解决"链接服务器 '(null)' 的 OLE DB 访问接口 'STREAM' 返回了对列 '[!BulkInsert].fieldname' 无效的数据"的一种替换方法
来源:互联网 发布:群发短信软件免费版 编辑:程序博客网 时间:2024/06/05 10:13
最近在合并两个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],也就是默认值,但是失败,而后都使用[Microsoft OLE DB Provider for SQL Server],但是又失败了;最后尝试了一次[.Net Framework Data Provider for SqlServer],呵呵,奇迹般地成功了。
也许这样说不是很清楚,就截个图吧:下图就是在SQL Server导入和导出向导里选择数据源时的截图。我上面提到的都是指这里的选项名称,例如,[.Net Framework Data Provider for SqlServer]等等。
对于选择[.Net Framework Data Provider for SqlServer]后的设置,就是和我们写的.Net里数据库连接字符串时是一致的,因为每个人要连接的数据库实例不一样,所以填写的项也不会相同。我的设置截图如下,不一定适合你哦,呵呵,仅供参考和学习:
至于产生此错误的原因,我还不清楚,但是个人感觉应该和OLE DB比较老有关,希望能帮助那些和我遇到同样问题的人。
同时记录下面的链接,呵呵,以备自己日后所需啦。
SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred :- Reasons and troubleshooting.
另外我在虚拟机中使用SQL Server 2000并选择默认数据源进行导入数据时没有发生上述问题。
- 解决"链接服务器 '(null)' 的 OLE DB 访问接口 'STREAM' 返回了对列 '[!BulkInsert].fieldname' 无效的数据"的一种替换方法
- 解决MsSQLServer导入数据时遇到【“链接服务器 '(null)' 的 OLE DB 访问接口 'STREAM' 返回了对列 '[!BulkInsert].2SB553' 无效的数据。】
- 链接服务器'(null)'的OLE DB访问接口'STREAM'返回了对列 '[!BulkInsert]
- 链接.. '(null)' 的 .接口'STREAM' 返回了对列 '[!BulkInsert]
- 链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误
- 链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。
- 链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"
- 链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。
- 无法初始化链接服务器 "(null)" 的 OLE DB 访问接口
- 法初始化链接服务器 "(null)" 的 OLE DB 访问接口
- 链接服务器 OLE DB 访问接口 'SQLNCLI10' 返回的数据与列所需的数据长度不匹配
- 链接服务器"XXX"的OLE DB 访问接口"SQLNCLI" 返回了消息"登录超时已过期"
- SQL Server 2008 链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。
- 链接服务器 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "该伙伴事务管理器已经禁止了它对远程/网络事务的支持。"
- 无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.JET.OLEDB.4.0"
- 链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OleDb.12.0" 报错
- 链接服务器\"(null)\"的 OLE DB 访问接口 \"Microsoft.Jet.OLEDB.4.0\"
- 链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI11" 指示该对象没有列,或当前用户没有访问该对象的权限。
- LINUX 和 WINDOWS 内核的区别
- PartnerLink,PartnerLinkType详解
- docx,xlsx等在android中的type
- Oracle 关于日期时间比较、格式转化等操作
- Android4.0.3 显示系统深入理解
- 解决"链接服务器 '(null)' 的 OLE DB 访问接口 'STREAM' 返回了对列 '[!BulkInsert].fieldname' 无效的数据"的一种替换方法
- Android 与 .net 互通的RSA加密
- Android中attr自定义属性详解
- linux下获取本地IP信息(没看代码)
- eclipse不能自动编译APK
- 。。,
- Android 各国语言缩写-各国语言简称
- 将cv::Mat转为IplImage
- 2012-1-04