首先,我是新人。我在 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 指令(可能不正确),但后来我想知道我的存储过程是否正确。问题是我真的没有足够的知识来解决这个问题。有人可以就这应该是什么样子提供一些建议或指示吗?
真的非常感谢你。
好的,在 SQL Server 上这个 .bat 文件可以工作:
sqlcmd -S MyServerName -E -d MyDatabase -Q "EXEC MyStoredProcedure"
假设服务器: \Server1\ 我运行 bat 文件的程序在另一台服务器上。文件是共享的,用户对 SQL、文件夹、程序等具有安全性。
如何将 .bat 文件更改为位于程序的服务器上?
因此,在 Server2 上,我希望拥有访问和打开 Server1 上的 .bat 的 bat 文件。为此,我是否需要将 .bat 文件更改为具有 \Server1\PathName\File.bat 的路径?