2015-08-19 79 views
0

2005年我有一个SSIS包。当我通过“SQL Server商业智能开发工作室”运行包时,它运行得很好,但是当我通过.bat文件运行包时它显示了以下问题:类未注册:SSIS包2005

来源:SSIS_Extract连接管理器 “MYDataba SE” 说明:发生OLE DB错误。错误代码:0x80040154。 OLE DB记录可用。源:“Microsoft OLE DB服务组件”H 结果:0x80040154描述:“类未注册”。 结束错误

下面是.bat文件内容

Echo on 

DTEXEC /FILE "SSIS_Extract.dtsx" 
/CONFIGFILE "Extract_Config.dtsConfig" /MAXCONCURRENT 
" -1 " /CHECKPOINTING OFF /REPORTING EW 

echo %ErrorLevel% 

pause 

同样的SSIS包在运行Windows 7 64位,但不能在Windows 7 32.可能有问题的64到32位。有什么方法可以转换现有的ssis软件包,以便它可以在Windows 7 32位或Windows Sever 2012 32位中运行。

任何人都可以帮我解决这个问题。

+0

发布“bat文件”的内容。你如何运行它?双击它或通过SQL Server代理运行它? –

+0

添加了.bat文件内容。双击运行bat文件或右键单击管理员。 –

+0

有没有关于连接管理器提到的任何有趣的事情?这可能是一个32/64位的东西。 VS运行为32位。您引用的DTExec.exe可能是64位或32位。看看这个 - 明确使用32位DTExec。 http://help.pragmaticworks.com/dtsxchange/scr/FAQ%20-%20How%20to%20run%20SSIS%20Packages%20using%2032bit%20drivers%20on%2064bit%20machine.htm –

回答

0

谢谢大家的支持。我得到了解决方案。在SSIS包中提到了OLEDB连接

数据源= xxxxx;用户ID = xxxx;密码= XXXX;初始 目录= XXXXXXXXXXXX;供应商= SQLNCLI10.1

我改变了连接字符串中提供,现在工作得很好。

Data Source = xxxxx; User ID = xxxx;密码= xxxx;初始 目录= xxxxxxxxxxxx;提供者= SQLOLEDB.1

+0

这并不能解释为什么它以单向而不是其他方式工作,但我很高兴你解决了你的问题,并且很高兴你回来并发布它 –