用delphi的ado 连接orcal数据库时出现问题(该机子装有orcal客户端,orcal数据库是正确的,通过客户端可正确连接数据库并能进行其他操作):
在程序中写如下程序ADOConnection1.ConnectionString:='MSDAORA.1;Password=111;User ID=aaa;Data Source=111;Persist Security Info=True';
ADOConnection1.LoginPrompt:=false;
ADOConnection1.Connected:=true;
程序执行是错误如下错误:
Project project1.exe raised exception class EOleException with message 'ORA-06413:连接未打开' process stopped. use step or run to continue.
请问用该如何连接orcal数据库,或是否还需要安装orcal的其他支撑控件,望高手指教??

解决方案 »

  1.   

    ado 在设计阶段的连接是正确的。
    但把它方在程序中执行就不对了,应该都一样的了,为什么呀?
      

  2.   

    用的orcal驱动是:
    microsoft Ole db provider for Oracle
    若用
    orcale provider for ole db
    也一样有不行
    ????
      

  3.   

    Oracle 好像不是很容易用ADO连的吧
      

  4.   

    设计期能连上吗?就是直接把connected设置为true,报错吗?一般不会出问题啊,ado直接连我经常就那么连
      

  5.   

    ADOConnection1.ConnectionString:='Provider=MSDAORA.1;Password=123;'
     +'User ID=his;Data Source=ORADB;Persist Security Info=True';
     ADOConnection1.LoginPrompt:=False;
     ADOConnection1.Connected:=True;
      

  6.   

    设计期能连上直接把connected设置为true是正确的了,但在程序内执行就不行了???
      

  7.   

    不是吧。你上面的'MSDAORA.1'明显少了一点内容嘛
    应该是'Provider=MSDAORA.1;
    我已经照你的代码试了就出现你说的错误。改成我的
    就没有问题了。
      

  8.   

    同意楼上
    'MSDAORA.1.........;错了应该是是'Provider=MSDAORA.1...........
    用微软的ado有写属性是不正确的,比如:recordcount...而且不能访问blob类型字段。建议使用orcale provider for ole db
      

  9.   

    ado里关于连接ORCALE是通过OLE的,你应该在你分发的计算机上也安装ORCALE的CLIENT就可以了,
      

  10.   

    object ADOConnection1: TADOConnection
      ConnectionString = 
        'Provider=OraOLEDB.Oracle.1;Password=111;Persist Security Info=True;
    User ID=111;Data Source=111'
      LoginPrompt = False
      Provider = 'OraOLEDB.Oracle.1'
      Left = 32
      Top = 8
    end(注:我正在用的東東、一切正常!)
      

  11.   

    sConn := 'Provider=OraOLEDB.Oracle.1;Password='+sPassword+';Persist Security Info=True;User ID='+usUserID+';Data Source=demo';
       if DataModule1.connOracle.Connected then
          DataModule1.connOracle.Close;
       DataModule1.connOracle.ConnectionString := sConn;
       DataModule1.connOracle.LoginPrompt := False;
      

  12.   

    我的连接串是这样写的:
      cnn_str="Provider=Microsoft OLE DB Provider for Oracle;data source=;User ID=;Password="