SSIS包在Visual Studio中运行,而命令行在代理中运行但不在代理中

问题描述:

我有一个SSIS包,这是我在服务器上使用VS开发的。 包在Visual Studio中运行正常,但是当我添加到SQL Server代理中的作业时,包失败。 我从SAGE Line 50 v19提取数据,所以ODBC驱动程序是32位。我正在64位环境中运行。 已经将odbc设置为32位,确保代理设置为运行32位,但是基座遇到错误。我已经测试从命令行运行包如下SSIS包在Visual Studio中运行,而命令行在代理中运行但不在代理中

"C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\DTExec.exe" /FILE "E:\Reporting\Projects\SSIS\SSIS2012\SSIS2012\Package1.dtsx" /DECRYPT password /CHECKPOINTING OFF /REPORTING EWCDI 

当我运行这只是正常。但是,当我安装一个SQL代理作业作为“操作系统(CmdExec)”运行时,我得到以下输出。

Microsoft (R) SQL Server Execute Package Utility 
Version 11.0.2100.60 for 32-bit 
Copyright (C) Microsoft Corporation. All rights reserved. 

Started: 13:30:44 
Info: 2015-02-24 13:30:44.45 
    Code: 0x40016044 
    Source: Data Flow Task Data Flow Task (SSIS.Pipeline) 
    Description: Attempting to upgrade "ODBC Source". The package is attempting to upgrade an extensible object. 
End Info 
Error: 2015-02-24 13:30:44.59 
    Code: 0xC0014020 
    Source: SSIS002_SageCompany5Import Connection manager "Sage005.Manager" 
    Description: An ODBC error -1 has occurred. 
End Error 
Error: 2015-02-24 13:30:44.59 
    Code: 0xC0014009 
    Source: SSIS002_SageCompany5Import Connection manager "Sage005.Manager" 
    Description: There was an error trying to establish an Open Database Connectivity (ODBC) connection with the database server. 
End Error 
Error: 2015-02-24 13:30:44.59 
    Code: 0xC00291EC 
    Source: Get Max(SourceID) Execute SQL Task 
    Description: Failed to acquire connection "Sage005.Manager". Connection may not be configured correctly or you may not have the right permissions on this connection. 
End Error 
Warning: 2015-02-24 13:30:44.59 
    Code: 0x80019002 
    Source: SSIS002_SageCompany5Import 
    Description: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors. 
End Warning 
DTExec: The package execution returned DTSER_FAILURE (1). 

我不明白为什么它在其他地方运行良好。一直在Google上搜寻几个小时,尝试了所有我能想到的,没有运气的东西。

+0

任何机会一个问题? – bp3849 2015-02-24 06:30:24

+3

关于你的第一个问题的出色工作。你已经经历了并且击中了高音,以确定你在做什么,问题是什么以及你尝试过了什么。谢谢你 – billinkc 2015-02-24 15:08:09

+0

你是否增加了主人?在屏幕上[链接] http://pl.tinypic.com/view.php?pic=2hdcopg&s=8#.VOyWqS6gTEs – Svmurvj 2015-02-24 15:18:47

我正在做一些类似的32位DSN &我检查了SQL作业中的“32位运行时”复选框(在SSIS作业步骤 - 高级选项卡下)。

看着操作系统(CmdExec)选项,它看起来像有一个“/ X86”开关 - 也许尝试,如果你必须从命令行运行或只是检查上面的框?

道歉,如果这是你已经完成,当你说代理是“设置为运行32位”。

不是100%确定这是否适用于您,但我有类似的问题,我的ssis项目中的cmd应用程序在VS中完美运行,但一旦部署到ssisdb就会挂起,并且永远不会完成需要的cmd用户输入和与它在它没有显示SSISDB如此,你不能再继续下去,它会错误

希望这有助于其从DTExec.exe一个单独的驱动器上的文件包可能导致一个小