【问题标题】:MySql Connector - A non-blocking socket operation @ nonQueryMySql 连接器 - 一个非阻塞套接字操作@nonQuery
【发布时间】:2015-12-01 17:21:20
【问题描述】:

我有一个 mysql 插入程序,它设置为在另一个程序完成后运行...

我这样做的方式是,initial程序做的最后一件事就是启动mysql插入程序...这里是方法

  ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.FileName = "PFML_STATES_MYSQL.exe";
           startInfo.Arguments = args[0];
            Process.Start(startInfo);
            Environment.Exit(0);

我目前正在从 mysql 插入器中的这段代码中获取堆栈跟踪

public void ClearAll(string args)
        {
            using (MySqlCommand command = new MySqlCommand())
            {
                command.Connection = this.connection;
                if (args.Equals("ny"))
                    command.CommandText = "delete from jurisdiction where offender_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1);delete from offenders_locations where offender_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1);delete from vehicles where offenders_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1);delete from alias where offenders_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1);delete from marks where offenders_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1);delete from offender_pictures where offenders_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1);delete from sentencing_info where offenders_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1);delete from crimes where offendersXREF  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1);delete from offender_pictures_additional where offenders_id IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1);";
                else
                {
                    command.CommandText = "delete from jurisdiction where offender_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1 and (county_id = 360052 or county_id = 360099 or county_id = 360030));delete from offenders_locations where offender_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1 and (county_id = 360052 or county_id = 360099 or county_id = 360030));delete from vehicles where offenders_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1 and (county_id = 360052 or county_id = 360099 or county_id = 360030));delete from alias where offenders_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1 and (county_id = 360052 or county_id = 360099 or county_id = 360030));delete from marks where offenders_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1 and (county_id = 360052 or county_id = 360099 or county_id = 360030));delete from offender_pictures where offenders_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1 and (county_id = 360052 or county_id = 360099 or county_id = 360030));delete from sentencing_info where offenders_id  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1 and (county_id = 360052 or county_id = 360099 or county_id = 360030));delete from crimes where offendersXREF  IN (select offender_id from offenders WHERE offender_id like 'NY%' AND risk_level !=1 and (county_id = 360052 or county_id = 360099 or county_id = 360030));delete from offender_pictures_additional where offenders_id IN (select offender_id from offenders WHERE offender_id like 'NY%' AND (county_id = 360052 or county_id = 360099 or county_id = 360030) AND risk_level !=1);";
                }
                command.ExecuteNonQuery();
            }
        }

堆栈跟踪,因为我很傻,所以我删除了......但它说的是无法从 command.executereader() 立即完成非阻塞套接字操作 > command.executenonquery()

关于这个问题真正有趣的部分是它只发生在初始程序启动 mysql 插入器时,如果我手动启动插入器它运行完美......

错误:

MySql.Data.MySqlClient.MySqlException: 期间遇到致命错误 命令执行。 ---> MySql.Data.MySqlClient.MySqlException:致命 尝试读取结果集时遇到错误。 ---> MySql.Data.MySqlClient.MySqlException:从流中读取有 失败的。 ---> System.IO.IOException: 无法从 传输连接:无法进行非阻塞套接字操作 立即完成。 ---> System.Net.Sockets.SocketException: A 非阻塞套接字操作无法立即完成

【问题讨论】:

    标签: c# mysql


    【解决方案1】:

    我对此没有一个好的答案,因为这个问题并不持久......

    但是我重启了两次服务器,它自己修复了。

    【讨论】:

      猜你喜欢
      • 2013-07-20
      • 2017-04-18
      • 1970-01-01
      • 1970-01-01
      • 2010-10-31
      • 2013-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多