この質問を削除して書き直したのは、私が明確ではなかったと思うためであり、フラストレーションを引き起こしました。
Excel シートを作成して入力する SSIS パッケージがあります。パッケージは完全に実行され、必要に応じてファイルを作成し、SQL Server エージェントからスケジュールに従って問題なく実行できます。
この問題は、VB スクリプトを実行して Excel ファイルの特定の行を削除するスクリプト タスクを実行しようとすると発生します。
Public Sub Main()
'
Dim xlApp As Excel.Application
Dim xlSheet As Excel.Worksheet
xlApp = New Excel.Application
xlApp.Workbooks.Open(Dts.Variables("NewFileName").Value.ToString)
xlSheet = xlApp.Workbooks(1).ActiveSheet
xlSheet.Rows(4).Delete()
xlApp.Workbooks(1).Save()
xlApp.Workbooks(1).Close()
xlSheet = Nothing
'
Dts.TaskResult = ScriptResults.Success
End Sub
現在、これは BIDS 環境内で完全に実行され、まさに私が必要としているものを実行します。ただし、パッケージがデプロイされると、ジョブが失敗してエラーが発生します
ソース: ヘッダー行の削除説明: System.Reflection.TargetInvocationException: 呼び出しのターゲットによって例外がスローされました。---> System.Runtime.InteropServices.COMException (0x800A03EC): Microsoft Excel はファイル 'G:\Folder\Folder1\Status File\Status26032015.xls' にアクセスできません。いくつかの理由が考えられます。ファイル名またはパスが存在しません。? ファイルは別のプログラムによって使用されています。? 保存しようとしているブックは、現在開いているブックと同じ名前です。
パッケージは、G: にアクセスできる ServerName\Administrator として実行されます (同じ変数を使用してファイルを作成すると失敗するため)。私がチェックしたすべての記事は SQL Server エージェントのアクセス許可を指していますが、ジョブの 90% が実行されているため、G ドライブにファイルを作成することを含め、アクセス権が必要です。