0

SQL Serverにストアドプロシージャがあり、データを取得してバッチファイルに送信する必要があります。これにより、変数などのデータがjarファイルに送信されます。BATとJARはすべて問題ありません。しかし、私の問題は、ストアドプロシージャからそれを可能にすることです...これが私が使用しているコードですが、いくつかの理由で、「システムは指定されたパスを見つけることができません」と教えてくれます。

   ALTER PROCEDURE [dbo].[_testeCarimbadorPDF](
        @Path VARCHAR(1000),
        @numCarimb int 
     )
   AS

   BEGIN
   DECLARE @CMDSQL VARCHAR(1000)
   DECLARE @NUMERO VARCHAR(10)
   SELECT @NUMERO = CONVERT(varchar(10),@numCarimb)

   SET @CMDSQL = 'C:\TESTE\CarimbadorPDF.bat' + ' ' + @Path + ' ' + @NUMERO
   exec master..xp_cmdshell @CMDSQL
   waitfor delay '00:00:02'
   end

どちらが私の間違いですか?それらの変数をバッチファイルに送信する必要があります...

4

1 に答える 1

0

指定したパスは、ローカルパスではなく、SQLServer関連のパスです。はexec master..xp_cmdshell @CMDSQL、ローカルマシンではなくSQLサーバーマシンでコマンドを実行します。SQLサーバーがローカルマシンで実行されている場合にのみ機能します。

于 2013-03-12T21:58:45.227 に答える