6

VSを使用してサーバー上で開発したSSISパッケージがあります。パッケージは Visual Studio で正常に動作しますが、SQL Server エージェントでジョブを追加すると、パッケージが失敗します。SAGE Line 50 v19 からデータを取得しているため、ODBC ドライバーは 32 ビットです。そして、私は64ビット環境で実行しています。odbc を 32 ビットとしてセットアップ済みで、エージェントが 32 ビットを実行するようにセットアップされていることを確認しましたが、エラーが発生しました。次のようにコマンドラインからパッケージを実行してテストしました

"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

これは、実行するとうまく機能します。ただし、「オペレーティング システム (CmdExec)」として実行するように SQL エージェント ジョブをセットアップすると、次の出力が得られます。

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).

なぜこれが他の場所でうまくいくのか理解できません。何時間もグーグルで調べていて、考えられることはすべて試しましたが、運がありませんでした。

4

2 に答える 2

0

これがあなたに当てはまるかどうかは100%確信が持てませんが、同様の問題がありました.ssisプロジェクトのcmdアプリはVSで完全に実行されましたが、ssisdbに展開されるとハングし、cmdがユーザー入力を必要とすることが判明しませんでした.それはssisdbにあるので表示されなかったため、続行できず、エラーが発生しました

これが少し役立つことを願っています

于 2016-03-14T08:30:26.000 に答える