在64bit机的Sql Agent上执行SSIS包导入Excel数据

  最近有个项目需要导入Excel数据到Sql Server数据库。我就在我本机(32bit)开发了一个SSIS导入包来执行这个任务。在本机测试一切OK,放到服务器上(64bit)创建了一个job来执行,出错报了一个“未注册的类型”的错。

  在Google了过后,了解了由于64位机不支持Microsoft.Jet.OLEDB(Office没有64bit版本。。),又去MSDN查找了相关文章写到解决方法是:

  To run a package in 32-bit mode from a 64-bit version of SQL Server Agent, select Use 32 bit runtime on the Execution options tab of the New Job Step dialog box.

  Oh,My God.我找了大半天,非常仔细的寻找,就没发现执行选项页中有Use 32 bit runtime这个选项,非常郁闷。想了半天,终于想出了一个另类的方法。由微软的文章知道 64-bit version of SQL Server Agent执行的是<drive>:/Program Files/Microsoft SQL Server/90/DTS/Binn/DTExec.exe,而32位的utility是在<drive>:/Program Files (x86)/Microsoft SQL Server/90/DTS/Binn/DTExec.exe中,我就创建了一个Operation System (CmdExec)的job替换了原来的Sql Server Integration Services Package的job。在Operation System (CmdExec)的job中执行<drive>:/Program Files (x86)/Microsoft SQL Server/90/DTS/Binn/DTExec.exe来执行SSIS包,然后就搞定了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值