我想构建一些将excel行导入sql server表的包,问题是有时会出现一个错误,导致包过程失败。
[Excel Source [1]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E21。 [Excel源[1]]错误:无法检索列“RECOMENDACION”的长数据。 [Excel源[1]]错误:组件“Excel源”(1)上的输出“Excel源输出”(9)出错。返回的列状态为:“DBSTATUS_UNAVAILABLE”。
正如您所看到的,“RECOMENDACION”列存在一些错误。
注意:错误发生在Excel Source任务中。
请给我一些线索,我坚持这一点。
答案 0 :(得分:0)
我有同样的问题。显然,MS Jet数据库引擎会检查列的前8行,以尝试猜测列的数据类型是什么(无论您指定的是什么类型)。
我将注册表项TypeGuessRows的值从8更改为0时修复了我的问题。 此密钥将位于以下任一位置:
HKEY_LOCAL_MACHINE \ SOFTWARE \微软\喷气\ 4.0 \发动机\ Excel中
HKEY_LOCAL_MACHINE - >软件 - > Wow6432Node - >微软 - > Jet - > 4.0 - >引擎 - > Excel中
答案 1 :(得分:0)
减少DefaultBufferMaxRows
有助于解决我的问题。
这可能很幸运,但是很有帮助。
答案 2 :(得分:0)
对我来说,它正在创建一个新的 oledb 源。我正在为我的新查询重用现有的 oledb 源。改变它解决了我的问题