Sql Script to Build Empty VE-PROMS Database
Use new settings (ConvertTo and ExecutableMode) New Settings Use new setting (PDF Folder) Use and Control new settings
This commit is contained in:
59
PROMS/DataLoader/SQLScriptRunner.cs
Normal file
59
PROMS/DataLoader/SQLScriptRunner.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
// Add .Net Reference Microsoft.SqlServer.ConnectionInfo
|
||||
using Microsoft.SqlServer.Management.Common;
|
||||
// Add .Net Reference Microsoft.SqlServer.Smo
|
||||
using Microsoft.SqlServer.Management.Smo;
|
||||
|
||||
namespace DataLoader
|
||||
{
|
||||
public delegate void SQLScriptRunnerEvent(object sender, SqlInfoMessageEventArgs args);
|
||||
public class SQLScriptRunner
|
||||
{
|
||||
public event SQLScriptRunnerEvent InfoMessage;
|
||||
public void OnInfoMessage(object sender, SqlInfoMessageEventArgs args)
|
||||
{
|
||||
if (InfoMessage != null) InfoMessage(sender, args);
|
||||
}
|
||||
private string _Script;
|
||||
public string Script
|
||||
{
|
||||
get { return _Script; }
|
||||
set { _Script = value; }
|
||||
}
|
||||
private string _ConnectionString;
|
||||
public string ConnectionString
|
||||
{
|
||||
get { return _ConnectionString; }
|
||||
set { _ConnectionString = value; }
|
||||
}
|
||||
public SQLScriptRunner(string script, string connectionString)
|
||||
{
|
||||
_Script = script;
|
||||
_ConnectionString = connectionString;
|
||||
}
|
||||
public SQLScriptRunner(string dbName, string backupFolder, string connectionString, DateTime dateTime, string suffix)
|
||||
{
|
||||
_Script = string.Format("Backup database [{0}] to disk = '{1}\\{0}_{2}{3}.BAK'\r\n" +
|
||||
"GO\r\nPRINT '{0} backed up to {1}\\{0}_{2}{3}.BAK'",
|
||||
dbName, backupFolder, dateTime.ToString("yyyyMMdd_HHmm"),suffix);
|
||||
_ConnectionString = connectionString;
|
||||
}
|
||||
public void Run()
|
||||
{
|
||||
SqlConnection cn = new SqlConnection(ConnectionString);
|
||||
cn.Open();
|
||||
cn.InfoMessage += new SqlInfoMessageEventHandler(cn_InfoMessage);
|
||||
Server srv = new Server(new ServerConnection(cn));
|
||||
srv.ConnectionContext.ExecuteNonQuery(Script);
|
||||
cn.Close();
|
||||
}
|
||||
void cn_InfoMessage(object sender, SqlInfoMessageEventArgs e)
|
||||
{
|
||||
OnInfoMessage(sender, e);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user