简体   繁体   English

用多个语句执行sql文件

[英]Executing sql file with multiple statements

I'm wanting to execute a bunch of sql files and I'm having problems with (i think) files that have multiple statements in them. 我想要执行一堆sql文件,我遇到了(我认为)文件中有多个语句的问题。 See here: 看这里:

http://pastebin.com/yenknuq6 http://pastebin.com/yenknuq6

Trying to execute this sql throws this exception: 尝试执行此sql会抛出此异常:

"at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()" “在MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()上的MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)

I'm using MySql connectors and I'm not doing any modification to the strings and just reading them from file. 我正在使用MySql连接器,我没有对字符串进行任何修改,只是从文件中读取它们。

using (MySqlConnection conn = new MySqlConnection())
{
    try
    {
        conn.ConnectionString = connect_str;
        conn.Open();
        Console.WriteLine("\n[EXECUTING] " + file);
        String sql = File.ReadAllText(file);
        if (sql != null && !sql.Equals(""))
        {
            Debug.WriteLine(sql);
            MySqlCommand command = new MySqlCommand(sql, conn);
            command.CommandText = sql;
            command.Prepare();

            command.ExecuteNonQuery();
        }
        else
            Console.WriteLine("no sql");

        conn.Close();
    }
    catch (Exception e)
    {
        Console.WriteLine("[SQL EXCEPTION] " + e.StackTrace);
    }
}

您必须输入连接参数Allow User Variables = True才能使其正常工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM