SSIS无法识别Excel文件。
错误:
无法从连接管理器“ Excel连接管理器”中检索表信息
使用连接管理器“ Excel Connection Manager”无法连接到源
我曾尝试安装32位可再发行组件,该组件解决了该错误,但是当我使用SQL存储过程在外部运行此组件时,它却失败了,如果我安装了64个可再发行组件,但在SSIS中却失败了,这也可以解决,
>因此,我需要32位才能在SP中运行,而需要64位才能在SSIS中运行,但是我不能同时安装两者。这个问题有解决方案吗?
答案 0 :(得分:0)
有2种解决方案:
(1)在SSIS中以32位运行程序包
尝试以32位模式运行程序包:
GoTo Project properties >> Debugging >> Run64BitRuntime = False
(2)同时安装32位和64位AccessDatabaseEngine
假设您用“可再分发”的意思表示Access数据库引擎
如果需要与32位安装一起安装AccessDataBaseEngine x64,则需要以被动模式运行安装:
被动模式安装步骤
cmd
并选择cmd.exe来打开命令提示符/passive
(这将运行安装而不显示任何错误消息)。 regedit
并选择regedit.exe
来打开注册表编辑器删除或重命名以下注册表项中的mso.dll
注册表值:
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths"
更多详细信息和屏幕截图,请参见下面的链接
参考
答案 1 :(得分:0)
通过使用dtexec 32位实用程序在32位模式下运行sis,可以将两者保持为32位。
DTExec 32位位于:
C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn
DTExec 64位位于:
C:\Program Files\Microsoft SQL Server\90\DTS\Binn
参考此内容以了解如何运行
答案 2 :(得分:0)
由于我遇到了同样的错误代码的问题-
创建连接管理器时,也可能选择了错误的excel版本,即Excel 2007-2010与Excel 2016等
答案 3 :(得分:0)
1.点击项目>>属性>>调试:将Run64BitRuntime改为false。
2.如果这不起作用,请使用 Excel 97-2003 工作簿格式保存您的 excel 工作,SSIS 中的 excel 连接管理器也应如此。
3.还尝试在工作簿打开时读取数据
答案 4 :(得分:0)
如果你喜欢新格式的Excel(xlsx)——2007版等等,你可以安装Access。结合以 32 位模式运行包有望解决问题。
https://www.microsoft.com/en-us/download/details.aspx?id=54920