2017-06-28 21 views
0

ClickonceにSQLスクリプトを含めることができるかどうかを知りたい場合は、SQL Serverにローカルに接続するアプリケーションを更新する必要があります。同じ更新プログラムでは、一度クリックすればこれらのスクリプトを実行することができます。または、データベースに接続して手動で実行することができます。アプリケーションのクリックは、ダウンロードするクラウド内のサーバに保存されます。Clickonceアプリケーションでsqlスクリプトを実行

答えて

0

保存されたprocsまたはどんなスクリプトでも、プロジェクトの「組み込みリソース」ファイルとして使用できます。次に、プログラムの実行時にロードし、標準のADO.NETコマンドを使用してSQL Serverに対して実行するだけです。 How To Read Embedded Resource File

あなたは自分のスクリプト(複数可)を取得し、次のようなコードを使用して実行する必要があります:埋め込みリソースのテキストファイルの読み込み

スクリプトについて

// Read stored procedure script from embedded resource or simply assign in code, for example. 
string scriptText = "CREATE PROCEDURE Test AS BEGIN SELECT 'Test'; END"; 

using (SqlConnection conn = new SqlConnection(connectionString)) 
{ 
    conn.Open(); 

    using (SqlCommand cmd = conn.CreateCommand()) 
    { 
     cmd.CommandType = CommandType.Text; 
     cmd.CommandText = scriptText; 

     cmd.ExecuteNonQuery(); 
    } 
} 

を、あなたがしたいかもしれませんストアード・プロシージャーがすでに存在する状況を処理できるように記述します(たとえば、存在する場合は、それをドロップしてから、プロシージャーを作成します)。あなたが扱う必要のあるパーミッション(例えばGRANT)を持っているならば、それらもスクリプトに追加することができます。

通常、各ストアドプロシージャを別々の埋め込みリソーステキストファイルに分割し、すべてのファイルをループし、上記のようなSQLコードを使用して各ファイルを実行するだけです。別のアセンブリ(別名Project)にこれらの "スクリプト"を入れて、前のリンクを使用して読みやすくすることができます。

+0

アプリケーション内でこれらのファイルを実行する方法に関するドキュメントリンクがありますか? –

+0

@JorgeTorselli - 私は上記のいくつかの詳細を追加します。うまくいけばそれはあなたが始めるのに役立ちます。 –

+0

埋め込みリソースを読み込む際の別の問題にリンクしてください。その場合は、ヘルプが必要です。https://stackoverflow.com/questions/3314140/how-to-read-embedded-resource-text-file –

関連する問題