または、SQL ファイルの内容を (一度に 1 つずつ) 文字列に読み取り、単純な ADO.Net 呼び出しを使用して DB に対してプログラムで実行することもできます。
次のようなものを使用できます。
/// <summary>
/// This method internally uses the ExecuteNonQuery method of the SqlCommand object
/// to run a query that returns no values (updates/inserts/deletes).
/// </summary>
/// <param name="sql">The SQL to execute</param>
/// <param name="parameters">The SqlParameters to use (pass null if there are none)</param>
/// <remarks>This method is thread safe.</remarks>
public static void runNonQuery(string sql, IList<SqlParameter> parameters, string dbConnectionString)
{
// Old-school, using simple ADO.Net to run a non-query (updates/inserts/deletes) - KDR
try
{
Monitor.Enter(_lock);
using (SqlConnection conn = new SqlConnection(dbConnectionString))
{
using (System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand())
{
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = sql;
if (parameters != null && parameters.Count() != 0)
{
foreach (SqlParameter param in parameters)
{
cmd.Parameters.Add(param);
}
}
cmd.ExecuteNonQuery();
}
if (conn.State != ConnectionState.Closed) { conn.Close(); }
}
}
finally
{
Monitor.Exit(_lock);
}
}
文字列 sql で SQL スクリプト ファイルの内容を渡し、パラメーターのリストに null を渡し、接続文字列を dbConnectionString でデータベースに渡すだけです。