8

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

この SQL ファイルを BAT ファイルから開くにはどうすればよいですか?

私は現在、次のように実行しようとしています:

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

OSQL は BINN ディレクトリに存在しません。

4

4 に答える 4

16

バッチ ファイルからsqlcmdコマンド ライン ツールを呼び出す必要があります。SQL ファイルが「backup.sql」であると仮定すると、コマンド ラインは次のようになります。

sqlcmd -E -S yoursqlinstance -i backup.sql

-E信頼できる接続を使用します。SQL ユーザー名とパスワードを指定する必要がある場合は、 -Uandに置き換えます。この記事と例-Pも参照してください。

于 2010-07-15T19:02:28.413 に答える
4
sqlcmd -S 127.0.0.1 /E -i MySqlScript.sql

信頼できる接続がない場合は、/E を /U および /P に置き換えます。

于 2010-07-15T19:03:21.903 に答える
3

より良い答えが必要な場合は、次のとおりです。

@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
于 2012-01-13T00:07:01.783 に答える
0

[スタート] > [実行] > [Cmd] と入力します。

マイドライブ:\Mypath\Mybat.bat

=)

于 2010-07-15T19:02:36.520 に答える