我的系统是mysql-4.1.8,win2k,MyODBC-3.51.10-2,vb sp6,在控制面板中建立odbc数据源后test可以正常连接mysql,在程序中利用odbc数据源来连接mysql时,报告错误为:灾难性故障,错误代码为:- 2147418113,请教解决办法和原因~~~

解决方案 »

  1.   

    可能是连接字符串错误,或数据库损坏,
     Dim db As New ADODB.Connection 'ADODB Connection对象
     Dim rs As New ADODB.Recordset 'ADODB Recordset 对象
     strConnect = "DSN=数据源名;"
     rs.CursorLocation = adUseClient
     rs.CursorType = adOpenStatic
     rs.LockType = adLockBatchOptimistic
     db.Open strConnect '创建一个连接
    或数据库损坏,运行修复程序 myisamchk
      

  2.   

    楼上的兄弟,mysql连接字符串的定义有什么特别的地方吗?我的连接字符串是这样的:dsn=MySQL;Driver={MySQL ODBC 3.51 Driver};Option=;port=;stmt=;Server=192.168.123.75;DataBase=mysql;User=mysql;Password=mysql
    这样是否错误呢?
    我的mysql是重新安装过的啊,怎么出现错误呢?数据库损坏的原因是什么啊?
      

  3.   

    我也是,我下载安装了mysql3.51的驱动,连接字符串如下:
    connStr = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=10.168.41.39;PORT=3306;DATABASE=mygame;
    USER=root;PASSWORD=;OPTION=3;"但是系统提示“灾难性故障”,晕~~~
      

  4.   

    http://community.csdn.net/Expert/topic/3732/3732149.xml?temp=.4265253
    我的帖子100分,哪位帮忙解决了,一块给了,呵呵
      

  5.   

    同时按照你说的连接方法修改了后错误变成了这个了:[MySQL][ODBC 3.51 Driver]Access denied for user 'ODBC'@'localhost'(using password:NO)错误代码为:-214767259,数据源建立时Test是成功连接的。
      

  6.   

    不知以上各位是否使用手动连接进入过mysql终端呢? 最好是跨越计算机试验, 这样可能可以找出问题的所在. 我估计是你的驱动程序有问题或者mysql在服务器上的配置不对. 我曾经在RedHat8.0下知道其所带的glibc库协同Mysql(版本我记不得了)服务时有bug, 远端一旦连接进来就崩溃.
      

  7.   

    手动连接可以,跨计算机使用同一个数据源用vc可以连接,vb就出现这个错误
      

  8.   

    我的驱动和服务器程序都是从mysql官方网站下载的阿
      

  9.   

    ===手动连接可以,跨计算机使用同一个数据源用vc可以连接,vb就出现这个错误====
    那你就使用VC连接的那个连接字符串也出现同样的问题吗? 我想你在使用VC连接的时候也许使用的不是ODBC, 而使用的是ADO. 我这里强烈建议使用ADO来连接MySql数据库. 另外下载的驱动程序也要使用OleDB的, 不要使用ODBC, 这也不仅仅是考虑运行速度问题.
      

  10.   

    官方网站没有找到oledb的下载亚,ado连接时错误也是灾难性故障的.
      

  11.   

    建立一个DataEnvironment,用Connection属性里边的连接生成工具连接一下试试,如果能成功,直接把connection的连接字符串拷出来用,如果不成功,至少可以知道问题具体出在哪里。
      

  12.   

    对,我的意思和samwzhang() 所讲的完全一样,目前基本可以判断出在了驱动上面了。