【发布时间】:2017-11-21 09:07:11
【问题描述】:
我遇到了一个关于 SSIS 导入 Excel 文件的问题。
当我使用 Visual Studio 2015 使用 AccessDatabaseEngine(32 位)开发和运行 SSIS 时,它可以工作。
当我在 SQL Server 2016 上使用 Task-->import 并使用 AccessDatabaseEngine(32 位)选择 excel 2007-2010(xlsx) 时,它也有效。
但是当我在 SQL Server 上的 SSISDB 目录下运行 SSIS 包时,我不工作,AccessDatabaseEngine(32 位)显示错误:
请求的 OLE DB 提供程序 Microsoft.ACE.OLEDB.12.0 未注册。如果未安装 64 位驱动程序,请在 32 位模式下运行该软件包。错误代码:0x00000000。 OLE DB 记录可用。来源:“Microsoft OLE DB 服务组件”Hresult:0x80040154 描述:“类未注册
之后,我尝试卸载 AccessDatabaseEngine(32 位)并安装 AccessDatabaseEngine(64 位),然后当我在 SSIDDB 目录下运行 SSIS 包时它可以工作,但是当我使用 Visual Studio 运行或运行时我不工作使用 Task--> 在 SQL Server 上导入。
您能否建议解决此问题的最佳解决方案?
谢谢
【问题讨论】:
-
错误信息说“在 32 位模式下运行包”你应该试试。
-
在将项目部署到 SSISDB 目录表单 Ture --> False 之前,我还在 Visual Studio 中设置了一个 Run64BitRuntime 并构建它。但是当我尝试使用 SSISDB 目录运行时它不起作用 TT
-
我相信你需要在运行它时设置它,而不是在部署它时。你是如何运行它的?从右键单击?我这里没有要测试的,但你应该可以在运行时告诉它
-
是的,我通过右键单击 SSISDB 目录下的包并选择“执行”来运行它。在 ssis 目录上执行时,我不确定如何将其设置为 32 位。
-
好的,当我右键单击并选择执行时,我在高级选项卡上找到了 32 位运行时。非常感谢尼克:)
标签: sql-server visual-studio-2015 ssis sql-server-2016 ssis-2016