C#でSQL Serverスクリプトを実行


ここでは、C#でSQL Serverスクリプトを実行する方法について簡単に説明します.SQLCMDはSQL Serverのコマンドラインであり、T-SQLスクリプトを迅速かつ簡便に実行できます.VSでは、プロセスを開始するためにProcessStartInfoというクラスを使用してsqlcmdを呼び出すことができます.次のDBバックアップ用のスクリプトがある場合、その名前はbackupです.sql:
BACKUP DATABASE [test] TO  DISK = N'C:\backup\test.bak'
  WITH NOFORMAT, NOINIT,  NAME = N'test-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

backupを実行するために.sqlスクリプトでは、次のコマンドを使用します.
sqlcmd -S .\MSSQLSERVER -i C:\backup.sql 

sqlcmdを使用してTransact-SQLスクリプトファイルを実行する方法については、ここを参照してください.
C#でsqlcmd:1を呼び出し、プログラムに次のネーミングスペースを追加する方法を示します.
using System.Diagnostics;

2、関連C#コードは以下の通り:
private void btnDemo_Click(object sender, EventArgs e)
{
     //   sqlcmd
    ProcessStartInfo info = new ProcessStartInfo("sqlcmd", @" -S .\MSSQLSERVER -i C:\backup.sql");
    //  OS Shell
    info.UseShellExecute = false;
    //       
    info.CreateNoWindow = true;
    //  windows style
    info.WindowStyle = ProcessWindowStyle.Hidden;
    //    
    info.RedirectStandardOutput = true;

    Process proc = new Process();
    proc.StartInfo = info;
    //    
    proc.Start();
}

以上、C#でsqlcmdを呼び出す実行方法を完全に示した.sqlスクリプト.