如何使用BAT文件运行脚本?

我想有一个BAT文件打开一个SQL Server脚本。 目前我在sql文件中有这样的代码:

declare @path varchar(255), @mydb varchar(50) SELECT @mydb = 'timeclockplus' select @path = 'C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Backup\' + @mydb + '-' + convert(varchar(8),getdate(),112) + '.bak' BACKUP DATABASE @mydb TO DISK = @path 

如何从BAT文件打开这个SQL文件?

我目前正在尝试像这样运行它:

 C:\Program Files\Microsoft SQL Server\80\Tools\Binn\osql -E -S Sql server-hl7\timeclockplus timeclockplus.sql -oresults.txt 

但BINQL目录中不存在OSQL,

Solutions Collecting From Web of "如何使用BAT文件运行脚本?"

您应该从批处理文件中调用sqlcmd命令行工具。 假设你的sql文件是“backup.sql”,命令行应该是这样的:

 sqlcmd -E -S yoursqlinstance -i backup.sql 

-E使用可信连接,如果需要指定SQL用户名和密码,则用-U-P替换。 另请参阅这篇文章的例子 。

 sqlcmd -S 127.0.0.1 /E -i MySqlScript.sql 

如果您没有可信连接,请用/ U和/ P替换/ E

如果你想得到更好的答案,这里是:

 @echo off SETLOCAL ENABLEDELAYEDEXPANSION :: batch file for sql query SET FIELDVAL=Empty SET DBNAME=MYDB SET SQLSTRING=SELECT column_name(s)^ FROM table_name1^ INNER JOIN table_name2^ ON table_name1.column_name=table_name2.column_name^ AND table_name2.field=%FIELDVAL% ECHO !SQLSTRING! ECHO. sqlcmd.exe -b -S localhost -E -d !DBNAME! -Q "!SQLSTRING!" -W ECHO Query is done. Hit any key to close this window.... pause>nul 

开始>运行>键入Cmd。

MyDrive:\ mypath中\ Mybat.bat

=)