Sql server 从批处理文件运行SQL命令并获取错误信息
大家早上好。不知是否有人能帮我。我正试图写一个批处理文件,让我和其他人在我的工作中生活得更轻松,但我想寻求一些帮助。我通常会运行一系列不同的SQL脚本,这些脚本是我为安装一个特定的安装而编写的,我认为如果我将这些脚本全部移动到批处理文件中,生活会更轻松。我正在尝试从批处理文件运行以下命令:Sql server 从批处理文件运行SQL命令并获取错误信息,sql-server,batch-file,Sql Server,Batch File,大家早上好。不知是否有人能帮我。我正试图写一个批处理文件,让我和其他人在我的工作中生活得更轻松,但我想寻求一些帮助。我通常会运行一系列不同的SQL脚本,这些脚本是我为安装一个特定的安装而编写的,我认为如果我将这些脚本全部移动到批处理文件中,生活会更轻松。我正在尝试从批处理文件运行以下命令: :T02 cls echo Qualifiers will be installed next with names of echo Q_AutoFax_CC_1 echo Q_AutoFax_CC_2 ec
:T02
cls
echo Qualifiers will be installed next with names of
echo Q_AutoFax_CC_1
echo Q_AutoFax_CC_2
echo Q_AutoFax_CC_3
echo Q_AutoFax_CC_4
echo Q_AutoFax_CC_5
pause
cls
If Exist "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp.exe" cd "C:\Program Files\Microsoft SQL Server\100\Tools\Binn"
If Exist "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\bcp.exe" cd "C:\Program Files\Microsoft SQL Server\90\Tools\Binn"
If Exist "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\bcp.exe" cd "C:\Program Files\Microsoft SQL Server\80\Tools\Binn"
sqlcmd /U eiw_admin /P eiw_admin /d cabinet /S . /Q
"declare @q int
select @q = 1
While @q < 6
Begin
Insert into cabinet..qualifiers
select 'HL7', 'Q_AutoFax_CC_'+ convert(varchar(2),@q),
'%Physician_Code'+ convert(varchar(2),@q)+'% == (NULL) || %Physician_Code'+ convert(varchar(2),@q)+'% == (BLANK)', 'R'
select @q = @q + 1
End"
pause
cls
…与选择、开始、插入和选择等相同
我想如果你想运行SQLCMD,你只需要把你的命令放在单引号里,这不对吗?批处理文件中的SQL语句应该与
SQLCMD
语句在同一行。将SQL语句放在一个单独的文件中,并使用-i
开关从文件中读取查询可能是最简单的方法。是的……就是这样……我通常执行简单的SQL命令,它们是一行,这是它第一次跨多行,所以我不知道。非常感谢
declare @q int
select @q = 1
While @q < 6
Begin
Insert into cabinet..qualifiers
select 'HL7', 'Q_AutoFax_CC_'+ convert(varchar(2),@q),
'%Physician_Code'+ convert(varchar(2),@q)+'% == (NULL) || %Physician_Code'+ convert(varchar(2),@q)+'% == (BLANK)', 'R'
select @q = @q + 1
End
Sqlcmd: '-Q': Missing argument. Enter '-?' for help. ' "declare @q int' is not recognized as an internal or external command, operable program or batch file