使用C#执行MySQL的SQL文件

翻译 2011年10月18日 17:12:52

最近的一个项目,需要在初始化时建库及建表,因为建表的SQL语句是从MySQL中导出的,所以在建库之后,需要执行导出的Sql语句实现建表及插入数据。方法如下:

        /// <summary> 
        /// 执行Sql文件 
        /// </summary> 
        /// <param name="varFileName">sql文件</param> 
        /// <param name="Conn">连接字符串</param> 
        /// <returns></returns> 
        private bool ExecuteSqlFile(string varFileName, String Conn)
        {
            using (StreamReader reader = new StreamReader(varFileName, System.Text.Encoding.GetEncoding("utf-8")))
            {
                MySqlCommand command;
                MySqlConnection Connection = new MySqlConnection(Conn);
                Connection.Open();
                try
                {
                    string line = "";
                    string l;
                    while (true)
                    {
                        // 如果line被使用,则设为空
                        if (line.EndsWith(";"))
                            line = "";

                        l = reader.ReadLine();

                        // 如果到了最后一行,则退出循环
                        if (l == null) break;
                        // 去除空格
                        l = l.TrimEnd();
                        // 如果是空行,则跳出循环
                        if (l == "") continue;
                        // 如果是注释,则跳出循环
                        if (l.StartsWith("--")) continue;

                        // 行数加1 
                        line += l;
                        // 如果不是完整的一条语句,则继续读取
                        if (!line.EndsWith(";")) continue;                       
                        if (line.StartsWith("/*!"))
                        {
                            continue;
                        }

                        //执行当前行
                        command = new MySqlCommand(line, Connection);
                        command.ExecuteNonQuery();
                    }
                }
                finally
                {
                    Connection.Close();
                }
            }

            return true; 
        }


C#执行SQL脚本文件

方法一:osql.exe(这种方式最简单,但貌似微软以后会取消这个功能,改为SqlCmd了) 最简单的方法就是调用 osql.exe . 具体方法如下(以sql server200 数据库为例):...
  • fangjjj
  • fangjjj
  • 2017年03月06日 17:14
  • 2268

C# .sql文件读取

1.sql文件的格式: localhost,checkdb,root,wujin set names gbk; GO use CheckDB; GO create table if not...
  • Andeewu
  • Andeewu
  • 2012年11月16日 14:11
  • 1269

C#读取.sql文件并执行文件中的sql

有些时候我们需要在程序中编写读取sql脚本文件并执行这些sql语句,但是我们在有些时候会遇到读出来的sql语句不能执行,其实不能执行并不是你的sql脚本文件有错误,而是去执行sql语句的时候,而是C#...
  • yu13767514297
  • yu13767514297
  • 2015年11月04日 10:16
  • 3465

C#中执行mysql数据库的存储过程

C#中执行mysql数据库的存储过程
  • Antares_SANTALEN
  • Antares_SANTALEN
  • 2016年07月01日 13:29
  • 2126

C# 执行mysql 存储过程

#region 存储过程操作 /// /// 执行存储过程,返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close...
  • u011470119
  • u011470119
  • 2016年05月30日 18:17
  • 3375

C# 执行Mysql数据库脚本 创建数据库和表

C# 执行Mysql数据库脚本 创建数据库和表 开发过程中可能需要将数据库导入到生产库中,我们可以通过Mysql workbench将数据库导出成sql文件,然后在C#代码中直接执行sql脚本,创建相...
  • zhumingyan
  • zhumingyan
  • 2016年04月09日 18:46
  • 2879

C#调用mysql查询存储过程

废话不多说,最近做了一个mysql的查询的存储过程,现在主要给大家看的是dao部分和存储过程的生成和使用,其他部分不太重要。 首先先看表,主要有两张表,一张是订单表,一张是车票表,两者是一对多的关系,...
  • Uncle_Jeffery
  • Uncle_Jeffery
  • 2015年10月22日 22:11
  • 2377

C#执行sql文件 运行sql文件

  • 2010年08月09日 18:34
  • 69KB
  • 下载

执行MySQL脚本文件遇到的问题

在调试linux安装包的时候,发现原来的sql文件不能直接被mysql load。问题的根本原因是 触发器 和 存储过程 load失败。 现在的安装流程里面,是管理工具在第一次加载的时候,通过java...
  • mazhimazh
  • mazhimazh
  • 2014年07月29日 09:31
  • 1095

mysql脚本写法

delimiter // create procedure mypro4() begin declare i int ; declare pos int; set i = 0; ...
  • bsnry
  • bsnry
  • 2014年04月02日 09:53
  • 605
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用C#执行MySQL的SQL文件
举报原因:
原因补充:

(最多只允许输入30个字)