我用MySqlConnection连远程数据库经常错错,提示远程计算机强迫关闭一个连接。有个别时候还是可以成功的。
但是我用MySQL-Front连接时,每次都可以连上。
我的代码如下,请指点。
            while (connection.State != ConnectionState.Open)
            {
                try
                {
                    connection = new MySqlConnection(linksing);
                    connection.Open();
                }
                catch (Exception ex)
                {
                    string e = ex.ToString();
                    Thread.Sleep(500);
                }               }SQL是:server=xxx;pooling=false;CharSet=utf8;Port=3306;database=xxx;uid=xxx;pwd=mmm;Connection Timeout=300

解决方案 »

  1.   

    百度一下,谷歌一下很多吧。。要么就是远程数据库提供的管道没有开通啊,TCP、name什么的那个
      

  2.   

    不妨把Connection Timeout的超时稍微设长点,数据库远程连接一般是比较耗时的,300毫秒是短了点!
      

  3.   

    与管道没关系 ,用MySQL-Front打开很快很正常。
    Connection Timeout时间调的再长也没用,它好象不起效似的,一运行就直接出错。不过偶尔也会成功的。
      

  4.   

    谢谢,那你说MySQL-Front是怎么做到的,它连接就不存在问题。我自已用C#写的就连不上。同样在一台机子上连同一个数据库。
      

  5.   

    mysqlconnection.State 有很多种,建议去查看状态,不要总去Open
      

  6.   

    回 phil999 的,循环再多,他一但成功就不会再连了,所以只会有一次成功的连接。没有成功连接当然不用关闭了。
    回 wuyq11 是服务器的问题没错。连本机没问题 ,但是用MySQL-Front就正常,所以我认为还是用程序可以解决的。
      

  7.   


    每次都是 new 出来的连接,而旧的没有关掉