我创建了4个SSIS包,其中两个正在将文本文件加载到数据库中并且工作正常。 其他两个正在执行或多或少相同的操作,但正在加载Excel文件。
它在BIDS和UAT服务器(Windows 2003 64位)上运行良好 我知道我必须使用位于32版SQL Server文件夹中的DTExec.exe文件以32位模式运行“Excel”包,所以这不是问题。
以下是用于启动软件包的批处理文件的内容:
REM Alimentation Commissions ASSURANCE VIE
"C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTEXEC" /FILE "H:\HUB\DTSX\DWH_IN_ASV_COM_CommissionsAllianzArcalis.dtsx" /CHECKPOINTING OFF /REPORTING EW
"C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTEXEC" /FILE "H:\HUB\DTSX\DWH_IN_ASV_COM_CommissionsLaMondiale.dtsx" /CHECKPOINTING OFF /REPORTING EW
"C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTEXEC" /FILE "H:\HUB\DTSX\DWH_IN_ASV_COM_CommissionsNatixisLife.dtsx" /CHECKPOINTING OFF /REPORTING EW
"C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTEXEC" /FILE "H:\HUB\DTSX\DWH_IN_ASV_COM_CommissionsRejets.dtsx" /CHECKPOINTING OFF /REPORTING EW
REM FIN IN
问题是,在我们的PRODUCTION服务器上使用相同的DTSX文件和相同的BAT文件(手动开始执行),加载Excel文件的两个软件包在日志中失败并显示这些消息:
Info: 2012-02-03 15:52:57.23
Code: 0x4004300A
Source: Export du log d'import SSIS.Pipeline
Description: Validation phase is beginning.
End Info
Error: 2012-02-03 15:52:57.23
Code: 0x8007007E
Source: DWH_IN_ASV_COM_CommissionsLaMondiale Connection manager "CNX_SQL_db_AssuranceVie"
Description: The specified module could not be found.
End Error
Error: 2012-02-03 15:52:57.23
Code: 0xC020801C
Source: Export du log d'import Source OLE DB [1]
Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "CNX_SQL_db_AssuranceVie" failed with error code 0x8007007E. There may be error messages posted before this with more information on why the AcquireConnection method call failed.
End Error
Error: 2012-02-03 15:52:57.23
Code: 0xC0047017
Source: Export du log d'import SSIS.Pipeline
Description: component "Source OLE DB" (1) failed validation and returned error code 0xC020801C.
End Error
Export du log d'import
是第二个任务的名称:
有一个循环,为了能够加载多个文件,匹配名称模板。
CNX_SQL_db_AssuranceVie
是两个任务使用的SQL Server连接对象的名称,连接字符串是根据外部XML文件中的数据构建的。
数据库连接对象是基本的SQL Server连接,并且其他两个包使用的连接字符串完全相同,我不明白是什么问题。
由于我无法直接访问PROD服务器,因此不容易尝试......
所以我在寻找创意!
答案 0 :(得分:0)
有些事情会浮现在脑海中。首先,当我的开发/测试服务器是32位并且生产是64位时,我遇到了因为我们在machine.config中使用连接字符串。当然,还有不同的ASP.NET目录,因此有32位和64位的machine.config文件...
另外,我在生产中运行没有足够权限的东西时遇到了问题...尝试以管理员身份打开命令窗口。然后从该命令行运行您的包。
答案 1 :(得分:0)
我通过修复Microsoft Office Database Engine来解决这个问题,我知道之前已经安装过这个版本,但似乎卸载Office产品可能会破坏Excel插件。