ADO连接ORACLE不要用microsoft ole db for oracle
而要用 ORACLE OLE DB PROVIDER去连接,用ORACLE自带的OLE DB驱动就不会出错的
用MS的驱动连不上的原因是,MS在ADO的最近几个版本已经停止了对ORACLE新版本数据库的支持,而且就是旧版本,一直也是运行不稳定。。
呵呵,原来我用DELPHI 6开发的时候,也是用MS的驱动,结果弄的我们一头包,用了很长时间才搞定的

解决方案 »

  1.   

    你安装ORACLE后,系统自动会添加ORACLE ODBC DRIVERS,那个好用,MS的不好用
      

  2.   

    MS OLE DB FOR ORACLE真的是不能用的,这并不是为你一个人换驱动,如果你不信,其它他们开发的程序都是有问题的,只不过是你们没有发现罢了
    你可以做一个测试,你用DELPHI做一个DEMO,在其中放一个ADOCONNECTION,这时候用MS OLE DB FOR ORACLE,三个ADOQUERY,这时候,然后全部OPEN这些ADOQUERY,你在ORACLE的SQL PLUS查询一下你的SESSION的情况:select username,sid,serial# from v$session你就会发现,你的一个应用程序就启动了三个SESSION,也就是你,你用了多少个ADOQUERY,就起了多少个SESSION,则如果你用的是ORACLE FOR OLE DB 的话,那么,你用多少个ADOCONNECTION,则就只会启动多少个SESSION,当然,相应的,SESSION启动的越少,就越省资源,速度就越快!而且在有多个ADOQUERY并行的时候就效率越高如果这种情况下,你还是要坚持用MS的驱动的话,我也没什么话好说的了
      

  3.   

    楼上分析详细,居然ms有如此设计,有机会也要测试下.
    楼主可以到oracle官方对应下载驱动:
    http://otn.oracle.com/software/tech/windows/ole_db/index.html
      

  4.   

    有个ADO升级包,升级之后就可以了
      

  5.   

    ms ole db for oracle是不太稳定,就算到microsoft去下最新macd,也解决不了,最好请换驱动,不然日后有得受的。呵呵
      

  6.   

    呵呵,说明一下,我原来出现那种状况是在ADO2.7下测试得到这样结果的,后面ADO的版本我就不知道MS是不是做了改进了
      

  7.   

    如果你的程序使用ado的话,我就搞不懂,为什么不能换,对你的程序来说,只是连接串的换一下就好了。
      

  8.   

    微软提供的驱动,文件名:MDAC_TYP.exe,5M多,在http://msdn.microsoft.com/library/搜索吧。
    ms和oracle提供的驱动我都有,怎么给你呀?
      

  9.   

    2.6 可以~ :)或者试试用 Oracle 提供的 oo4o