首页 新闻 会员 周边

c# 如何执行mysql命令 导出mysql脚本和导入mysql脚本

0
[已解决问题] 解决于 2015-01-22 14:40

c# 如何执行mysql命令 导出mysql脚本和导入mysql脚本

念念啊的主页 念念啊 | 菜鸟二级 | 园豆:415
提问于:2013-11-28 10:00
< >
分享
最佳答案
0

我这里有个C# 读取sql脚本文件并执行的方法:

2个参数,connectionstr 为数据库的连接字符串 、path 为sql 脚本文件所在位置

对sql 脚本的要求是, 记得用'GO' 关键词 ,作为一个逻辑片段的分割,

比如:  

 

 select * from xx  

  GO 

 insert xxx(aa,b,bcc) values(xx,xx,xx) 

  GO 

方法实现如下:

public static void ExecuteSqlServerScriptFile(string connectionstr, string path)
{
    Stream stream = File.OpenRead(path);
    StreamReader reader = null;
    var builder = new StringBuilder();
    var connection = new SqlConnection(connectionstr);
    reader = new StreamReader(stream);
    try
    {
        connection.Open();
        string sqlString;
        while ((sqlString = reader.ReadLine()) != null)
        {
            if (sqlString.Trim().ToUpper() != @"GO" && sqlString.Trim() != "")
            {
                builder.AppendLine(sqlString);
            }
            else if (builder.ToString().Trim() != "")
            {
                var command = new SqlCommand(builder.ToString(), connection);
                command.ExecuteNonQuery();
                builder.Remove(0, builder.Length);
            }
        }
    }
    finally
    {
        connection.Close();
        reader.Close();
    }
}
奖励园豆:5
袁家小黑球 | 小虾三级 |园豆:1045 | 2013-11-28 10:16
其他回答(2)
0

http://172.18.0.3:81/phpMyAdmin/index.php?token=4e306bd0a7ccfec8cd6b43142f47d048#PMAURL-0:index.php?db=&table=&server=1&target=&token=4e306bd0a7ccfec8cd6b43142f47d048 ; 可以使用在线工具进行导出mysql脚本和导入mysql脚本。我原来是这么用的。

jianrong.zheng | 园豆:550 (小虾三级) | 2013-11-28 10:47
0
//使用mysql 应该用MySqlConnection
  public static int ExecuteQuery(string sql,CommandType type,params MySqlParameter[] pms)
        {
            using (MySqlConnection con = new MySqlConnection(ConnStr))
            {
                using (MySqlCommand cmd=new MySqlCommand(sql,con))
                {
                    if (pms!=null)
                    {
                        cmd.Parameters.AddRange(pms);                     
                    }
                    cmd.CommandType = type;
                    con.Open();
                    return cmd.ExecuteNonQuery();
                }
            }
        }
秋壶冰月 | 园豆:5903 (大侠五级) | 2013-11-28 11:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册