2012-01-23 21 views
0

私はスプレットシートを開き、自動オープンマクロを実行するバッチファイルを持っています。この作品 。バッチファイルをSQL Serverエージェントジョブに置くと、再び動作しますが、ジョブは終了しないようです。なぜどんなアイデア?バッチファイルのためのexcelを開くバッチファイルはSQL Serverエージェント上で動作しますが、SQL Serverジョブは完了せず、ループしません

コード

コールC:\インポート\ Account.xlsb 終了

コードのSQL Serverエージェントの

C:\ WINDOWS \ SYSTEM32 \ CMD.EXE/C」C :\ Imports \ Test \ OpenExcelFile.bat "

+0

数分後にExcelのプロセスがタスクマネージャに表示されますか?おそらくプロセスは終了していますが、エージェントは終了を「聞いて」いません。 – billinkc

答えて

1

なぜバッチファイルを実行するためにcmd.exeを実行する必要があるのか​​わかりません。 (のCmdExec)ジョブステップ」オペレーティングシステムを使用しているときにのみ、引用符でファイル名の名前を指定する必要があるのステップは、次のコードを使用する必要があります。これが動作しない場合は、その後、

"C:\Imports\Test\OpenExcelFile.bat" 

を実行してみてくださいxp_cmdshellストアドプロシージャからバッチファイルここでは、実行する必要があるだろうコードだ:。。

EXEC master.dbo.xp_cmdshell 'C:\Imports\Test\OpenExcelFile.bat'; 
GO 

これはのTransact-SQLスクリプト(T-SQL)ジョブステップで呼び出される可能性

あなたはこれを呼び出していますSSISパッケージでは?投稿はSSISとタグ付けされていましたが、あなたがSSISパッケージからこれを呼び出そうとした投稿。これがSSISパッケージであれば、BIDSでSSISパッケージを正常に実行できますか?これをBIDSから実行している場合は、cmd.exeファイルを呼び出す必要はありません。 cmd.exeからバッチファイルを実行する必要がない、実行可能なプロセス制御フローのタスクがあります。 SSISパッケージを使用していない場合は、SSISタグを削除できますか?

+0

SSISでこの手順を実行できなかったので、それを取り出して別のジョブステップとして試しました。 SSISでは、Excelのファイルを開くウィンドウスケジューラタスクとしてこの手順を実行した後、自動オープンマクロを実行します。これは、SQL Serverエージェントでは動作しません。今夜またはあなたの提案を試して、フィードバックを返します。返信いただきありがとうございます。 –

+0

提案1と同じ動作を試してみると、実行されて実行され、停止していないようです。これまでのところ5分だった。 –

+0

私は、問題はあなたがクライアント側のコマンドをサーバー側で実行しようとしていると思います。これを見てみましょう:http://jessicammoss.blogspot.com/2008/10/manipulating-excel-spreadsheets-in-ssis.html。スクリプトタスクを介してスプレッドシートを開き、実行する必要があるものを実行することができます。 –

関連する問題