delphi7 环境,安装MYSQL odbc3.51 连接远程MYSQL数据库
程序做完运行了半年一直正常,这两天突然无法运行,任务管理器显示“未响应”
做了个非常简单的查询也这样,请大虾指点
在线等,分不够可再加

解决方案 »

  1.   

    所有电脑都不行,还是只有你的机子不行,在别的机子上装个MYSQL   odbc3.51和mysql,把你的exe文件复制到那台机试试
      

  2.   

    做了个测试程序,select max(id) from product,非常简单的一个查询,用MYSQL FRONT 很快就返回结果
      

  3.   

    在DELPHI里,十分钟过去了,还是未响应
      

  4.   

    我现在就在用delphi,但是没试过你的情况。你把delphi的代码贴出来看看。只不过如果以前可以的话,代码应该没问题才是。
      

  5.   

    MYSQL   FRONT可以联,证明代码没有问题的,如果在别的机上测试也不行,多数也不是ODBC出事,最有可能是代码了。
      

  6.   

    select   max(id)   from   product
    这行代码在MYSQL FRONT里运行没有问题
    粘贴到DELPHI里,运行,没响应
    整个应用运行半年了,这两天突然出现这个现象,服务器是LINUX系统
      

  7.   

    在DELPHI里执行本地的MYSQL的查询就没问题
      

  8.   

    那可能是服务器的mysql的问题了,当程序连不上mysql时,就会这样,但是我这边过几分钟后还会弹出个提示的。可能服务器的mysql服务挂了,去那边重启服务试试。
      

  9.   

      ADOQuery1.close;
      ADOQuery1.sql.Text:='select max(id) from product';
    //  ADOQuery1.sql.Text:='select * from user';  此行代码是访问本地MYSQL的,没问题
      
      ADOQuery1.open;
    showmessage(intToStr(ADOQuery1.RecordCount));以上代码是一个按钮事件中
    另,用MYSQL FRONT连可以执行的'select max(id) from product';
    在DELPHI里一执行就没响应
      

  10.   

    你只有一个ADOQuery,怎么可以又访问本地,又登录远程啊,用的是同个connection?
      

  11.   

    还有,你确认你的MYSQL FRONT连的不是本地的库?
      

  12.   

    为了测试ODBC,我把connection改来改去,
    MYSQL  FRONT确实连远程库,我访问的本地库是MYSQL,而且根本没有远程所访问的那个库
      

  13.   

    那就没办法了,你本机测试可以用的话,错误就与ODBC没关系的。你在确认一下你的MYSQL FRONT用的用户和你delphi用的是不是同一个吧。或者关掉本机的防火墙之类的试试。
      

  14.   

    如果连接用户出错什么的,只要连接有问题,delphi的程序都会没响应一阵子,再弹出提示,最起码我的机器就是这样,所以叫你确认一下那个远程的conn语句有没有错,你的MYSQL   FRONT可以连的话,那delphi的设置就设成和MYSQL   FRONT的一样试试。
      

  15.   

    在adoconnect的属性里测试连接没问题,
    而且以前运行一直正常,所以认为连接没问题
      

  16.   

    试过用其他MYSQL 前台工具,连接都没问题
      

  17.   

    而且以前运行一直正常,所以认为连接没问题
    ------------
    会不会有人改了服务器的mysql啊,你的adoconnect是用root登录的?如果有人改了权限之类的,你连不上也不奇怪。你要去检查一下啊。
    你给你的adoconnect拿出来看看。最好用你的MYSQL FRONT用的用户来登录。
      

  18.   

    MYSQL  FRONT用的用户和DELPHI代码里的用户名密码都是一样的
      

  19.   

    真的不知道问题所在了,你再用debug看看程序停在什么地方,按f7.如果确实不行,把程序拷到别的有delphi 的机上重编译一次测试一下了。
      

  20.   

      ADOQuery1.close;
      ADOQuery1.sql.Text:='select max(id) from product';
    //  ADOQuery1.sql.Text:='select * from user';  ADOQuery1.open;停在ADOQuery1.open;这一行,未响应
    为什么在DELPHI里未响应,为什么本地的没问题,在DELPHI的ADOCONNECT控件测试连接是可以连接的
    郁闷,会跟局域网病毒有关吗
      

  21.   

    不清楚了,你的其他客户端软件可以访问,应该无关。执行open才开始连数据库的,没有反应证明一直没有连到数据库上,通常是conn语句有问题了。我也帮不了你了。你可以试试不连服务器,连别的有mysql的机子试试的,mysql只要有开权限一般都可以连上了,有时候也是防火墙问题。
      

  22.   

    连局域网内其他mysql,把连接改下,再改下QUERY,没问题
      

  23.   

    连局域网内其他mysql,把连接改下,再改下QUERY,没问题
      

  24.   

    那是局域网IP的问题了,除非是是给钱的那种在外网的IP,那种那里都连的到,如果是外网连局域网里的IP我也不知道怎么连,可能要开贴问问了。你可以用客户软件连到你的服务器,那服务器要么就是同个局域网的,要么就是那种很暂时还很珍贵的外网IP了