bat调用ssis的dtsx 32位模式设置
0
各位好,我的ssis版本为64位,然后office版本为32位,现在我用ssis2012将excel入库,方式是用bat调用sql的dtsx,代码如下:
cd D:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn
dtexec /file "D:\SSIS_TEST\参数test\参数test\Package.dtsx"> d:\testlog.log
手动执行dtsx是可以的,bat执行默认是用64位运行的,如何设置以32未运行,参数应该怎么设置,我通过bat执行报错如下:
Microsoft (R) SQL Server 执行包实用工具
Version 11.0.2100.60 for 64-bit
版权所有(C) Microsoft Corporation。保留所有权利。
开始时间: 9:30:08
进度: 2014-05-15 09:30:08.70
源: 数据流任务
正在验证: 0% 完成
进度结束
错误: 2014-05-15 09:30:08.71
代码: 0xC0209303
源: Package 连接管理器“Excel 连接管理器”
说明: 所请求的 OLE DB 访问接口 Microsoft.ACE.OLEDB.12.0 尚未注册。如果未安装 64 位驱动程序,则以 32 位模式运行包。错误代码: 0x00000000。
已获得 OLE DB 记录。源:“Microsoft OLE DB Service Components” Hresult: 0x80040154 说明:“没有注册类”。
错误结束
错误: 2014-05-15 09:30:08.71
代码: 0xC001002B
源: Package 连接管理器“Excel 连接管理器”
说明: "Microsoft.ACE.OLEDB.12.0" 访问接口在本地计算机上未注册。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=219816
错误结束
错误: 2014-05-15 09:30:08.71
代码: 0xC020801C
源: 数据流任务 Excel 源 [2]
说明: SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“Excel 连接管理器”的 AcquireConnection 方法调用失败,错误代码为 0xC0209303。可能在此之前已经发出错误消息,提供了有关 AcquireConnection 方法调用失败原因的详细信息。
错误结束
错误: 2014-05-15 09:30:08.71
代码: 0xC0047017
源: 数据流任务 SSIS.Pipeline
说明: Excel 源 未能通过验证,返回的错误代码为 0xC020801C。
错误结束
进度: 2014-05-15 09:30:08.71
源: 数据流任务
正在验证: 50% 完成
进度结束
错误: 2014-05-15 09:30:08.71
代码: 0xC004700C
源: 数据流任务 SSIS.Pipeline
说明: 一个或多个组件未能通过验证。
错误结束
错误: 2014-05-15 09:30:08.71
代码: 0xC0024107
源: 数据流任务
说明: 任务验证期间出错。
错误结束
DTExec: 已返回包执行 DTSER_FAILURE (1)。
开始时间: 9:30:08
完成时间: 9:30:08
占用时间: 0.156 秒
cd D:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn
dtexec /file "D:\SSIS_TEST\参数test\参数test\Package.dtsx"> d:\testlog.log
手动执行dtsx是可以的,bat执行默认是用64位运行的,如何设置以32未运行,参数应该怎么设置,我通过bat执行报错如下:
Microsoft (R) SQL Server 执行包实用工具
Version 11.0.2100.60 for 64-bit
版权所有(C) Microsoft Corporation。保留所有权利。
开始时间: 9:30:08
进度: 2014-05-15 09:30:08.70
源: 数据流任务
正在验证: 0% 完成
进度结束
错误: 2014-05-15 09:30:08.71
代码: 0xC0209303
源: Package 连接管理器“Excel 连接管理器”
说明: 所请求的 OLE DB 访问接口 Microsoft.ACE.OLEDB.12.0 尚未注册。如果未安装 64 位驱动程序,则以 32 位模式运行包。错误代码: 0x00000000。
已获得 OLE DB 记录。源:“Microsoft OLE DB Service Components” Hresult: 0x80040154 说明:“没有注册类”。
错误结束
错误: 2014-05-15 09:30:08.71
代码: 0xC001002B
源: Package 连接管理器“Excel 连接管理器”
说明: "Microsoft.ACE.OLEDB.12.0" 访问接口在本地计算机上未注册。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=219816
错误结束
错误: 2014-05-15 09:30:08.71
代码: 0xC020801C
源: 数据流任务 Excel 源 [2]
说明: SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“Excel 连接管理器”的 AcquireConnection 方法调用失败,错误代码为 0xC0209303。可能在此之前已经发出错误消息,提供了有关 AcquireConnection 方法调用失败原因的详细信息。
错误结束
错误: 2014-05-15 09:30:08.71
代码: 0xC0047017
源: 数据流任务 SSIS.Pipeline
说明: Excel 源 未能通过验证,返回的错误代码为 0xC020801C。
错误结束
进度: 2014-05-15 09:30:08.71
源: 数据流任务
正在验证: 50% 完成
进度结束
错误: 2014-05-15 09:30:08.71
代码: 0xC004700C
源: 数据流任务 SSIS.Pipeline
说明: 一个或多个组件未能通过验证。
错误结束
错误: 2014-05-15 09:30:08.71
代码: 0xC0024107
源: 数据流任务
说明: 任务验证期间出错。
错误结束
DTExec: 已返回包执行 DTSER_FAILURE (1)。
开始时间: 9:30:08
完成时间: 9:30:08
占用时间: 0.156 秒
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
2 个回复
qjxiaopang - 懒惰是成功的最大绊脚石 2014-05-15 回答
赞同来自: 梁勇
dtsx除了可以在代理服务下设置job,也可以使用bat去调用,也是可以的,谢谢!
梁勇 - 天道酬勤、上善若水。爱好商业智能 2014-05-15 回答
赞同来自: