在delphi中用ado连oracle,driver用的是microsoft odbc for oracle,会报provider错误,TNS不能连接,而用sqlplus连接oracle却没有问题,我把oracle8i重配置也没有用,而同样的问题在别人机器上没有出现,请问各位大虾,该如何解决?
用oracle提供的driver是可以联的,但是项目要求必须用微软提供的driver,请各位一定要帮忙啊!

解决方案 »

  1.   

    我怀疑是你的MDAC坏了,上Microsoft下载一格MDAC 2.7版的吧,可能会好
      

  2.   

    是不是Oacle数据库的TNSListener服务没有启动呀,我的都可以连的,何况我们不鼓励用ORACLE的DRIVER说是不稳定。
      

  3.   

    监听已经启动了,mdac2.7也装过一遍了,还是不行,我是实在没辙了只好来求助大家,拜托啦!
    对了,我的是delphi7
      

  4.   

    你用ORACLE客户端访问没有问题吗?
      

  5.   

    没问题,只有在delphi里用有问题,真是怪了,刚刚还好用,一下子就连不上了。
      

  6.   

    重装delphi也不行,我准备重装系统了。
      

  7.   

    oracle中的tnsnames.ora设置好了没有呀
    并且要修改注册表oracle主键添加local
      

  8.   

    一定要用odbc吗?
    用oledb不可以吗?
    下面是用oledb 连接数据库的代码:
    adoconnection1.connectionstring:='Provider=MSDAORA.1;Password=manager;User ID=system;Persist Security Info=True';
      

  9.   

    是用oledb啊,连接字符串都一样,tnsnames.ora没错,不用修改注册表
    就是不通,怎么办
      

  10.   

    先用d6的mdac包,然后用d7的mdac包,试试看
      

  11.   

    sql/plus联接一下看看行不行。如果不行,就不是ado的问题了
      

  12.   

    sqlplus可以连得上,就是delphi连不上,今天重装了系统也连不上,是不是安装delphi和oracle有顺序问题阿
      

  13.   

    重装操作系统,再安装oracle,再就是delphi
      

  14.   

    编辑adoconnection的connectionstring.在弹出的对话中:
    提供程序:miscrosoft  ole db provider for oralce
    连接:    
          输入服务器名称:  你tnsnames.ora里面的,我这里bbb 
      bbb=
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.15)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = o8inext)
        )
      )
          用户名:
          密码:
    再测试一下,
    这要保证的客户端与数据库正确的配置,应没问题的!我这里就是这样!
      

  15.   

    这样之后,connectionstring就是:Provider=MSDAORA.1;Password=aaa;User ID=aaa;Data Source=bbb;Persist Security Info=True
    你客户端用tnsping 一下服务器名!
      

  16.   

    tnsping通,sqlplus通,就是delphi里不通,我真是想不出什么原因了,希望星期一上班能找到答案阿!
      

  17.   

    bde试一下:http://www.oradb.net/setup/delphiora_001.htm希望对你有帮助!!
      

  18.   

    请问一下,DELPHI 中用BDE构件如何边接ODBC啊我装 的ORACLE 客户端,连接服务嚣没有问题
    我也建好了ODBC数据源,DRIVER是Microsoft ODBC for Oracle 
    我的BDE环境该如何配呢?
    请详细指点。不胜感激啊。
      

  19.   

    说到安装的话,有oracle的话最好先装;
    再就是你是客户端连服务器,还是本机上开发,在net8里要配置好服务器
    用的oracle的哪个版本,是8。几的还是9i的,这个也有不同
    delphi7没有delphi6好用,也可能是这个问题
    你看看有没有安装ipx协议
    重启机器,重启oracle数据库,把监听器删掉,重新配置一个
    不过据我的经验来看,微软的问题可能性比较大
      

  20.   

    我的可以啊,我用的是D7+9i,xp系统!
      

  21.   

    搞定了,添加ipx协议,在注册表中加一个local字段,设为数据库服务名,就好了。