まず、私は新しいです。私は SQL Server 2008 R2 を使用しています。機能する一括挿入スクリプトがあります。ストアド プロシージャを作成して、storedprocedure.sql
. 最終的に.bat
、一括挿入を起動するためのファイルが必要です。外部プログラムを実行できる別のプログラムがありますが、またはしか.bat
表示されません.exe
。
だから、ここに私の一括挿入スクリプトがあります:
Bulk Insert MyDatabase.dbo.cust_adj
From 'C:\path\importformat.txt'
With
(
FieldTerminator= '|',
Rowterminator= '\n'
)
Go
(this works)
次に、ストアド プロシージャを作成しようとしました。
Create Procedure LoadDailyAdjReport
AS
Bulk Insert MyDatabase.dbo.cust_adj
From 'C:\path\importformat.txt'
With
(
FieldTerminator= '|',
Rowterminator= '\n'
)
Go
成功したと言われましたが、確認する方法がわかりません。
それで、.batファイルを作成してみました:
@echo off
sqlcmd -S MyServer\MyDataBase -i C:\mypath\Load_Daily_Adjustment.sql
うまくいきません。最初は、.bat 命令だと思っていましたが (おそらく正しくないでしょう)、ストアド プロシージャが正しいかどうか疑問に思いました。問題は、これをトラブルシューティングするのに十分な知識がないことです。誰かがこれがどうあるべきかについてアドバイスや指針を提供してもらえますか?
いつもありがとうございます。
OK、SQL Server では、この .bat ファイルが機能します。
sqlcmd -S MyServerName -E -d MyDatabase -Q "EXEC MyStoredProcedure"
サーバーは、たとえば \Server1\ です。bat ファイルを実行するプログラムは別のサーバーにあります。ファイルは共有されており、ユーザーは SQL、フォルダー、プログラムなどに対してセキュリティを持っています。
プログラムのサーバー上にある .bat ファイルを変更するにはどうすればよいですか?
したがって、Server2 には、Server1 の .bat にアクセスして開くバット ファイルが必要です。そのためには、\Server1\PathName\File.bat のパスを持つように .bat ファイルを変更する必要がありますか?