2013-06-06 88 views
0

我基本上想创建一个嵌入了sql命令的批处理脚本,我想知道是否有一种方法可以使用cmdsql来执行此操作。我正在使用sql server 2008 r管理工作室,并且已经下载了sqlcmd v2.0。是否可以使用cmdsql创建带有sql命令的批处理脚本?

我做了一个批处理脚本,它试图连接到数据库并执行一条简单的select语句,但是当我运行脚本时,它在连接到数据库后进入交互模式。它不会在脚本中执行sql,它只会允许用户键入sql命令。代码如下:

sqlcmd -S <servername>\<instancename> 
Select Number FROM Table1 
GO 

我改变了列/表/数据库等的名字,因为这是与工作相关的,但你的想法。我对批处理脚本很陌生,没有太多经验,我对sql有更多的经验。

回答

0

将输入输入程序的标准方法是准备输入并通过|管道重定向输入。例如:

(
echo Select Number FROM Table1 
echo GO 
echo . . . 
echo EXIT or QUIT or BYE... 
) | sqlcmd -S <servername>\<instancename> 

但是,如果您的批处理文件的目的只是为了执行SQL命令(且没有批量逻辑),一个简单的方法是准备与你键入相同的输入通过.txt文件键盘:

sqlcmd -S <servername>\<instancename> 
Select Number FROM Table1 
GO 

...然后反馈该文件到cmd.exe的是这样的:

cmd < theFile.txt 

在这种情况下,不要忘了同时插入的平方exit命令l和exit cmd.exe命令!

1

你可以尝试read the documentation。文件的概要,请在命令行中键入sqlcmd -?

要从批处理文件中运行单个的SQL Server查询,使用默认的数据库:

sqlcmd -S <servername>\<instancename> -Q "Select Number FROM Table1" 
相关问题