解决链接服务器\\'(null)‘ 的 OLE DB 访问接口’STREAM‘ 返回了对列’!BulkInsert.fieldname\\' 无效的数据

更新时间:2024-01-31 01:50:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

解决\链接服务器 '(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: \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并选择默认数据源进行导入数据时没有发生上述问题。

本文来源:https://www.bwwdw.com/article/14jw.html

Top