大家好!
我用delphi6编写通过TADOConnection访问Oracle10g的com组件;总是抱错,抱错的位置是
       pADOConn.ConnectionString := "Provider=OraOLEDB.Oracle.1;User ID=sys;Password=sys;Data Source=myora;Persist Security Info=True;Extended Properties=\"plsqlrset=1\"";
      pADOConn.LoginPrompt := False;
      pADOConn.Connected := True;
      FADOConn.Open;
每次运行到最后一句FADOConn.Open;的时候总是报个非法错误,不知道是为什么;
但是这个com组件在Oracle9i下面测试是好用的,生级到10g的时候就不好使了,这个是什么原因呢!?

解决方案 »

  1.   

    是不是连接字符串的问题?装上ORACLE的客户端,直接连不上吗?
      

  2.   

    是不是delphi6是MDAC 2.6, 而需要MDAC 2.7的原因? (Microsoft Data Access Components)
      

  3.   

    谢谢高手的回复!
    我是delphi6通过 TADOConnection 连接 Oracle10g
    写成exe好使,比如下面这段,测试连接是成功的,但是写成dll调用就不好使了,提示“未指定的错误”
    procedure TForm1.Button1Click(Sender: TObject);
    var
      FADOConn  : TADOConnection; // 数据连接
      sConn : string;
    begin  // delphi6通过 TADOConnection 连接 Oracle10g
      try  // 写成exe好使,写成dll调用就不好使
        sConn := 'Provider=OraOLEDB.Oracle.1;User ID=test;Password=test;Data Source=myora;Persist Security Info=True;Extended Properties="plsqlrset=1"';
        FADOConn := TADOConnection.Create(nil);
        FADOConn.ConnectionString := sConn;
        showmessage(FADOConn.ConnectionString);
        showmessage('正在连接...打开');
        FADOConn.LoginPrompt := False;
        FADOConn.Connected := True;
        FADOConn.Open;
        showmessage('正在连接...成功!');
      except
        on E: Exception do
        begin
          showmessage('正在连接...失败!');
        end;
      end;
    end;
      

  4.   

    Oracle安装都正确,通过工具测试也成功!
      

  5.   

    MDAC 2.7(Microsoft Data Access Components 2.7)也安装了,不好用! 不知道怎么搞得,升级总是有莫名其妙的错误,在线等!
      

  6.   

    在程序里面先调试,错误会更容易看清楚,程序原来不是你先的?
    可能有两种情况:
    1.表
    2.客户端驱动如果是DLL封装,可能错误实际不在此行,需要调试经验
      

  7.   

    to befree: 谢谢,在程序里面好使,换到dll封装之后就有错误了!