【发布时间】:2013-03-29 17:27:28
【问题描述】:
首先,我是新手。我在 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、对Folder、对程序等都有安全性。
如何将 .bat 文件更改为位于程序的服务器上?
因此,在 Server2 上,我希望拥有访问和打开 Server1 上的 .bat 的 bat 文件。为此,我是否需要将 .bat 文件更改为具有 \Server1\PathName\File.bat 的路径?
【问题讨论】:
标签: stored-procedures batch-file bulkinsert