ネットワークドライブからExcelファイルをロードするためのSSISパッケージがあります。これは、コンテンツを読み込み、ファイルをアーカイブフォルダに移動するように設計されています。SSISパッケージはSSMSで動作しますが、エージェントジョブでは動作しません。
次のSQL文がSSMSウィンドウで実行されている場合は、すべて正常に動作します。
ただし、SQLエージェントジョブにコピーされてそこから実行されると、ファイルはロードも移動もされません。しかし、エージェントログから「成功」を示します。
同じことがまた、Windowsのプロキシアカウントさえして、代わりにT-SQLジョブの "SSISジョブ" に起こった。(SSMSのログインと同じアカウント)
Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'SG_Excel.dtsx', @[email protected]_id OUTPUT, @folder_name=N'ETL', @project_name=N'Report', @use32bitruntime=True, @reference_id=Null
Select @execution_id
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50, @parameter_name=N'LOGGING_LEVEL', @[email protected]
EXEC [SSISDB].[catalog].[start_execution] @execution_id
GO
P.S.最初にネットワークドライブの相対パスが適用され、絶対パス(\\ server \ folder)に切り替えられます。それは問題を解決するものではありません。
既にVisual Studio内でSSISパッケージを実行しようとしましたか? SSMSユーザーとプロキシユーザーでこれを試しましたか?警告/エラー/デバッグメッセージが表示されましたか? – Tyron78
@ Tyron78、それはVisual Studioでうまくいきます。はい、プロキシを使用してSSIS SQLエージェントジョブを設定しようとしましたが、まだ動作していません。 – Echo
@ Tyron78異常なことはジョブがエラーメッセージなしで「成功」を示すことです。 – Echo