110,535
社区成员
发帖
与我相关
我的任务
分享
public static bool ExecuteSQLFile(String sqlFileName,String connStr)
{
FileStream stream = new FileStream(sqlFileName, FileMode.Open);
SqlConnection connecction = null;
bool runflag = false;//判断折行文件是否执行成功
try
{
connecction = new SqlConnection(connStr);
SqlCommand command = connecction.CreateCommand();
connecction.Open();
StreamReader reader = new StreamReader(stream);
StringBuilder builder = new StringBuilder();
SqlTransaction varTrans = connecction.BeginTransaction();
command.Transaction = varTrans;
String strLine = "";
try
{
while ((strLine = reader.ReadLine()) != null)
{
if (strLine.Trim().ToUpper() != @"GO")
{
builder.AppendLine(strLine);
}
else
{
command.CommandText = builder.ToString();
command.ExecuteNonQuery();
builder.Remove(0, builder.Length);
}
}
varTrans.Commit();
runflag = true;
}
catch (Exception ce)
{
varTrans.Rollback();
throw ce;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
if (connecction != null && connecction.State != ConnectionState.Closed)
{
stream.Close();
connecction.Close();
}
}
return runflag;
}