ssis使用Excel目标的坑

问题:启动 SSIS 包“E:\SQLtmpfile\Integration Services Project1\Integration Services Project1\Package.dtsx”。
信息: 0x4004300A,位于 数据流任务, SSIS.Pipeline: 正开始验证阶段。
错误: 0xC0209303,位于 Package, 连接管理器“Excel 连接管理器”: 所请求的 OLE DB 访问接口 Microsoft.Jet.OLEDB.4.0 尚未注册。如果未安装 64 位驱动程序,则以 32 位模式运行包。错误代码: 0x00000000。
已获得 OLE DB 记录。源:“Microsoft OLE DB Service Components” Hresult: 0x80040154 说明:“没有注册类”。
错误: 0xC020801C,位于 数据流任务, Excel 目标 [24]: SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“Excel 连接管理器”的 AcquireConnection 方法调用失败,错误代码为 0xC0209303。可能在此之前已经发出错误消息,提供了有关 AcquireConnection 方法调用失败原因的详细信息。
错误: 0xC0047017,位于 数据流任务, SSIS.Pipeline: Excel 目标 未能通过验证,返回的错误代码为 0xC020801C。
错误: 0xC004700C,位于 数据流任务, SSIS.Pipeline: 一个或多个组件未能通过验证。
错误: 0xC0024107,位于 数据流任务: 任务验证期间出错。
SSIS 包“E:\SQLtmpfile\Integration Services Project1\Integration Services Project1\Package.dtsx”已完成: 失败。
程序“[13932] DtsDebugHost.exe: DTS”已退出,返回值为 0 (0x0)。

不知道为什么,ssis中的Excel目标组件不支持64位的运行环境,需要把项目的64位运行环境禁止掉,否则数据无法导出到Excel中

ssis使用Excel目标的坑

右键项目->属性

ssis使用Excel目标的坑

配置属性->调试->Run64BitRuntime,选择false

ssis使用Excel目标的坑

这样就可以把数据导出到Excel中了

还有一个建表的坑,Decimal长度最大是28,否则建不了表

TITLE: Microsoft Visual Studio
------------------------------

无法创建该表。

------------------------------
ADDITIONAL INFORMATION:

无效的十进制数据类型定义。 (Microsoft JET Database Engine)

------------------------------
BUTTONS:

OK
------------------------------

 

ssis使用Excel目标的坑