2017-11-13 1 views
0

Visual Studio 2013を使用してSQL Server Database Projectを作成しました。ビルドとPublishはうまく動作します(プロジェクトからのすべての変更はデータベース上で実行されます)。しかし、Publishの代わりに 'Generate Script'を選択すると.sqlファイルが生成されますが、SQL Server Management Studioで直接実行することはできません。次の行は、SQL言語(「:」で始まるもの):の一部ではないVisual Studioデータベースプロジェクトを使用してクリーンなSQLスクリプトを生成する方法は?

GO 
:setvar DatabaseName "Test_Project" 
:setvar DefaultFilePrefix "Test_Project" 
:setvar DefaultDataPath "<default path>" 
:setvar DefaultLogPath "<default log path>" 

GO 
:on error exit 
GO 
/* 
Detect SQLCMD mode and disable script execution if SQLCMD mode is not supported. 
To re-enable the script after enabling SQLCMD mode, execute the following: 
SET NOEXEC OFF; 
*/ 
:setvar __IsSqlCmdEnabled "True" 
GO 
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True' 
    BEGIN 
     PRINT N'SQLCMD mode must be enabled to successfully execute this script.'; 
     SET NOEXEC ON; 
    END 


GO 
USE [$(DatabaseName)]; 

私はGenerate Scriptボタンを押すと、「クリーン」SQLファイルを生成することができますどのように?可能であれば、結果をSQL Server Management Studioと解釈できるSQLファイルに変換できますか?

+1

はジャスト(クエリ]メニュー - > [SQLCMDモード)SSMSでSQLCMDモードを有効にすると、クエリは正常に実行されます。 SSMSは、ツールメニュー - >オプション - >クエリ実行でSQLCMDモードを自動的に有効にするように設定することもできます。 –

+0

「@GarethLyons」ありがとう!出来た。 SQLCMDコードをSQLコードに変換するツールはありますか? – roroinpho21

答えて

0

パラメータを指定してsqlcmd.exeにsqlcmdスクリプトを渡すことは可能です。これの例はthis Microsoft blog postです。 。私の知る限りで置換されたパラメータを使用してSQLファイルを出力する方法はありません承知しているよう

関連する問題