我在程序中使用ADO+ADOConnect访问oracle数据库,adoconnection中使用的驱动是oracle provider 
for ole db,在adoconnectin的connection string属性中可以设定用户名和密码,但是由于连接远程
oracle数据库的服务名在哪里设定呢,我设置在‘数据源’处,但是不对,我想应该有地方设置吧。使用microsoft的ole db for oracle的时候服务名可以设置在‘服务名’,所以我想前者应该也是可以设置的吧,要不岂不是一旦用了oracle provider for ole db就不能访问远程的oracle数据库,这就太
笑话了吧,我刚开始使用delphi,请大家指点,谢谢

解决方案 »

  1.   

    对了,我用的是delphi6,不知道和版本有没有关系
      

  2.   

    我也想知道这个!!!!
    过些天也要连接oracle,学习!!
      

  3.   

    我想发点资料给你,你自己看着办!首先说有没有问题:
    用ado有没有什么问题?
    bde是肯定没有问题的,我以前一直用的。然后再说效率?
    以及发展与支持? 
    lanbing1400 (2002-12-16 9:33) 
    关注 
    quiben (2002-12-16 9:35) 
    用ADO肯定是没有问题的,而且效率必BDE要快,这是有人曾经作过试验的. 
    sgs125 (2002-12-16 9:37) 
    我们就用的ado,感觉比bde要快, 
    balangate (2002-12-16 9:38) 
    用odac 
    http://www.zdnet.com.cn/download/windows/developer/swinfo/0,2008005232,39022303s,00.htm 
    qdyoung (2002-12-16 9:39) 
    不用odac,因为数据库也可能会变 
    Xelloss (2002-12-16 9:40) 
    M$的ADO的终极目标是用SQL Server打败Ora
    以后会不会像ie不支持java一样就不得而知。
    Bde局限性较大,用DBExpress吧。 
    dingyongqi (2002-12-16 9:41) 
    我现在也是用ADO,不过我更想知道哪有ORACLE 8I下载,不是官方网站的@! 
    qdyoung (2002-12-16 9:43) 
    http://www.jtjc.gov.cn/njxz/oracle/oracle8i.zip
    ftp://202.102.201.182/pub2/oracle8i_linux81701.tar
    我正在下的 
    free_knight (2002-12-16 9:45) 
    用  ADO 吧 
    ljy_17 (2002-12-16 9:49) 
    ADO好用!
    但對oracle支持不是很好! 
    qdyoung (2002-12-16 9:52) 
    请说出理由或举例,谢谢
    >但對oracle支持不是很好! 
    dingyongqi (2002-12-16 9:59) 
    兄弟ORACLE 8I你是用什么下的,我用NETANTS下不了,是不是很惨,不过我现在也在下载, 我想
    NETANTS快一点!
     
    bernhn (2002-12-16 10:3) 
    当然是ado了,ado已成为联连数据库的标准了,我用的就是ado! 
    老人家 (2002-12-16 10:5) 
    ado好啊 
    5i1zhou (2002-12-16 10:7) 
    我没有用过BDE,只用ADO;具李维说,ORACLE还是BDE好点 
    lyjgs.168 (2002-12-16 10:8) 
    ado是好用对oracle支持的不太好虽然在网上有些支持oracle的ado驱动,
    还是不行在数据检索上比起bde差远了,我做过这方面的测试,从一张16万记录的
    表中查记录,两者返回的时间相差很大, 
    qinmingzsj (2002-12-16 10:12) 
    當然用bde,不管是效率還是速度都要好! 
    qdyoung (2002-12-16 10:16) 
    几十万条记录中查询速度跟驱动有关就很怪了,不会是用???table打开吧 
    卡色 (2002-12-16 10:17) 
    还没尝过oracle呢,不过听说是bde要好一些,未来就不清楚了! 
    dingyongqi (2002-12-16 14:11) 
    qdyoung兄弟,ORACLE 8I是下载下来了,可是没解压的密码呀,你有没有? 
    一生中最爱 (2002-12-16 14:32) 
    没用过oracle,但根据sql server,sybase得经验,还是bde好,有些情况用dbexpress,用
    ado只在服务器端软件中,大量在客户端用是不合适的,对环境要求较高。 
    dingyongqi (2002-12-16 16:2) 
    up 
    armyjiang (2002-12-16 20:31) 
    其他的数据库不太清楚,但是就oracle来说,还是bde要可靠一些!
    BDE是利用了oracle的组件来访问它的,但是ado是利用自身的功能来访问数据库,此时
    oracle所特有的功能就可能会无法满足!
    不知道你是否以前有用过WEB方式来开发oracle应用(不是用webdb),按照通常的方式会有许
    多功能无法应用于oracle。
    ado访问oracle需要特定的补丁。 
    ndch (2002-12-16 22:9) 
    ado对ORACLE的支持并不太好,
    用DBexpress不错啊 
    lufang (2002-12-16 22:48) 
    我用的是ODAC,很方便
    本来想用ADO的,但不知用ADO怎么样实现多表更新
     
    qdyoung (2002-12-16 23:49) 
    应该只是封装的接口不同吧,ado链接oracle就不需要安装oracle客户端?
    >但是ado是利用自身的功能来访问数据库 
    pely (2002-12-17 9:45) 
    ado的局限:ado不支持一些oracle独有的数据类型,如:LOB等,具体信息可以参看
    microsoft网站上的adodb的说明
    oo4o:oracle出品的类似于adodb的东东,全面支持oracle。
    ms oledb for oracle:支持的类型和ado一样,但是效率最高。
    -------------------------------------------------------
    odac,doa都是delphi原生控件,发布的时候比较方便
    ------------------------------------------------------
    上述的控件、组件都需要在运行软件的机器上有SQL*NET安装,才可以连接oracle。
    doa NET可以不需要安装SQL*NET,直接用tcp/ip协议与oracle通信,但是对某些特殊的
    sql语句,数据类型(如lob)不支持。
    -------------------------------------------------------
    个人以为,如果是小应用,而且不需要用到LOB等oracle的特殊数据类型,使用doa NET会
    好一点(程序小,分发方便)。如果需要支持lob等,就使用oo4o或者doa,odac。如果在
    网页中使用,最好是用ms oledb for oracle,效率最高。 
    bxqxb (2002-12-17 9:55) 
    用oracle我认为还是用odac比较好 
    xianjun (2002-12-17 9:58) 
    不用再作比较
    如果是新做的项目,肯定不要使用BDE
    BDE已被BORLAND抛弃好久了
    现在已转向了dbExpress,还是用dbExpress吧,直接调用OCI接口,无论效率还是什么都是
    没得挑剔的 
    yangpeng0622 (2002-12-17 10:3) 
    ado 
    desertsmoke (2002-12-17 10:8) 
    odac好 
    china_peng (2002-12-17 10:17) 
    ODAC好,客户机不用装OOACLE客户端! 
    Sachow (2002-12-17 12:20) 
    说ADO用于Oracle时比BDE好的朋友是否是道听途说,还是只浅尝辄止?有没有进行过多方
    位的测试和应用?
    在此说一个我的观点:
    在连接Oracle时BDE比ADO好,这至今仍是一个定律(真希望这个定律尽快打破)。在一个
    普通的应用中,大家应该是感觉不到有多少差别的,而且ADO里没有BDE的Blob Size困扰,
    用起来感觉很好。但在一个COM+项目中,问题就出现了,如果把组件的事务类型设为“需要
    事务”时,不管是使用MS的Provider还是使用Oracle的Provider,都会出现错误。MS的是:
    “不能连接到事务管理器或事务管理器不可用”,Oracle的是:“新事务不能登记到指定的
    事务处理器中”(以上提示都是在Win2000下的)。
    此外,在动态链接库中使用MS的Provider时,在打开TADOConnection时程序会进入无限等待
    状态,但Oracle的Provider正常。
    如果谁能证实上面这些问题不是ADO Provider的BUG,ADO在任何场合下都能正常作用Oracle
    数据库的话,那可是大功一件,呵呵。我曾经做过一个简单的程序测过BDE、Oracle Provider for Oledb、MS Provider for Oledb
    三种情况连接Oracle的速度,其中BDE是最快的,其次是MS的Provider,与BDE相差无几,最
    慢的是Oracle的Provider,速度比前两者慢了约60%。由于在不同环境中连接所用的时间会
    有较大差别,在些就没有必要列出在我的环境中的具体数据了,大家如果有兴趣的话也可以
    自己做个程序试试,但总的成绩情况估计应该根我的大同小异。 
    qdyoung (2002-12-18 14:49) 
    ftp://61.132.94.157/pub/oracle/oracle8i_EE_817_WINNT/ 
    hdfsun (2002-12-18 17:6) 
    我做过比较,ado还是比bde访问要快些。 
    sunhood (2002-12-18 22:51) 
    要看数据量,如果10万以上的数据我看sql用什么都慢的要死.
    因为sql,ado都是微软提出和开发的,而对手就是Oracle,而bde据说专为Oracle作过优化. 
    myangel (2002-12-18 23:41) 
    ado好 
    qdyoung (2002-12-24 15:50) 
    决定用ADO,参见我的测试结果和测试源程序下载
    “Oracle vs SQL Server,BDE vs ADO 速度大比拼 ”,地址:
    http://www.8421.org/download.php?id=228 
      

  4.   

    看完后更加晕了,到底哪个好呀,就是大概明白了ado连接oracle确实有问题,不知道dbexpress用起来怎么样,看有的书上说也有缺点,好像是在查询的时候吧,说不来,还请大家继续讨论!
      

  5.   

    前一个连接你要建一个数据源也就是配一个odbc(是系统的)
      

  6.   

    你不配置ODBC怎么连数据库呢???
      

  7.   

    谢谢楼上两位,现在解决了,那是不是在部署的时候每台客户机上都得配置odbc?那样的话岂不是太麻烦了???