原来是用ACCESS的,后来由于有网络远程访问需求,改成mySQL。驱动、数据源等都已经设好,是否只需修改一些open函数的字串就行了呢?ADO与ODBC访问有什么区别呢?请指教提点~感激!

解决方案 »

  1.   

    1、连接字符串不同;
    2、两者的SQL语句、函数不同;
    3、MYSQL有SP、TRIGGER,ACCESS没有;
    4、MYSQL对网络支持强于ACCESS。
      

  2.   


    是的,基本上只需要改一下connection string
    但是要注意一些函数,比如 date() - > cur_date()
    还有时间的格式 #2009-02-21# -> '2009-02-21'具体可以参见mySQL的SQL文档部分。
    http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  3.   


    SOpen.Format("driver={MySQL ODBC 3.51 Driver};Server=localhost;database=asd;Option=3;");
    m_pConnection->Open(_bstr_t(SOpen),"","",adModeUnknown);///连接数据库非DSN,连接不上,是否字串错误??我一直不明白“database=”后面填写数据库名称,它上那儿去找我的这个数据库呢?如果我电脑上有n多个MySQL数据库它全部找一遍?请高手解释一下!
      

  4.   


    SOpen.Format("{MySQL ODBC 3.51 Driver};Server=localhost;Database=asd; User=myUsername;Password=myPassword;Option=3;"); Server=localhost  改成你mySQL所在主机名,如果是本也则使用localhost
    Database=asd   改成你的数据库名。odbce会到刚才那个主机名指定的mySQL服务器上找这个数据库实例。
    User=myUsername  改成你的登录用户名
    Password=myPassword  改成你登录用户的密码
      

  5.   

    SOpen.Format("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Port=3306;Database=test_db;Option=0;UID=root;PWD=123;");
    hr = m_pConnection->Open(_bstr_t(SOpen),"","",adModeUnknown);///连接数据库还是不行啊