最近用delphi5给客户做一程序,现在基本完工了。但是出现一问题。
此程序用ado+oracle8.1.7,连接数据库语句如下:
  StrConn:='Provider=MSDAORA.1;User ID=user;Password=pwd;Persist Security Info=True;';
  DataMod.ADOConn.ConnectionString:=StrConn;
  try
    DataMod.ADOConn.Connected:=True
  except
    on E:EOleException do
      Application.MessageBox(PChar(E.Message),'错误',MB_OK);
  end;
程序运行通过,但在装最后一台客户机时出现问题。
这台客户机操作系统是win2000专业版,一执行上面的语句,就出现如下错误提示
“发现了一个oracle错误,但无法从oracle中恢复错误信息"其它客户机均运行正常,不过系统不是2000专业版。请问你们碰到过类似情况吗??可能的原因是什么??

解决方案 »

  1.   

    Provider=MSDAORA.1;User ID=fgyh;Password=password;Server Name=fg;Persist Security Info=True;加上servername一段
      

  2.   

    我用的SQLSERVER,在局域网里,是这样做的:
      dm.SQLSERVERbsCon.Connected:=false;
      dm.SQLSERVERbsCon.ConnectionString:='';
      dm.SQLSERVERbsCon.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False;'+'User ID=sa;Initial Catalog=bs;Data Source=billy';
      dm.SQLSERVERbsCon.Open;
    ORCALE应该相似。
      

  3.   

    加上了servername一段,还是不行啊!
      

  4.   

    急啊,请指教。用oracle的sqlplus都能连上。
      

  5.   

    conn:='Provider=Sybase.Oracle8ADOProvider.2;Password=pass;User ID=user;Data Source="";Persist Security Info=True;ServerName=servername';联oracle是不能用MSDAORA.1的换成Sybase.Oracle8ADOProvider.2看看
      

  6.   

    Provider=MSDAORA.1;Password=password;User ID=fgyh;Data Source=fg
      

  7.   

    我已经测试成功
    Provider=MSDAORA.1;Password=jinzhun;User ID=jinzhun;Data Source=jz
      

  8.   

    我试着用ADOTable控件连接数据库,在设计时直接用下拉框不能赋表名时出错,但
    我直接把表名给它(虽然报错但我还是写完表名),然后Active=true。居然连上了,而且数据也出来了。我很少使用ADO,今天帮你测试了一下,和ODBC差不多。
    祝你好运!
      

  9.   

    明月清风
    我用的是StrConn:='Provider=MSDAORA.1;User ID=user;Password=pwd;Persist Security Info=True;Data Source=DBSource;Server Name=DBServer'我这里一共有20多台客户机,在其它机器上都没问题,就在这台上出现这个错,不知怎么回事,用oracle自带的sqlplus都能连接成功,可是我的程序一运行就出错!
      

  10.   

    再一次测试后回答你:你将它改成:StrConn:='Provider=MSDAORA.1;User ID=user;Password=pwd;Persist Security Info=True;Data Source=DBServer'祝好运!
      

  11.   

    smilelhh(blue)
    你的连接字串错了。再说一次,我的连接字串应该没问题,因为在其它10多台机器上都没问题,也不可能是数据库配置的问题,所有机器的配置都是一样的,这点我已检查过10多次了。我就觉得奇怪,在出问题的这台机器上,用sqlplus都能连上并操作数据,为什么我的程序会出错?
      

  12.   

    问题上写了的啊。如下:
    “发现了一个oracle错误,但无法从oracle中恢复错误信息"
      

  13.   

    我也在被这个问题困惑,用ado+odbc没问题,直接用ole就是不行,bde也没问题
      

  14.   

    用ado+odbc,查询出来的整形数值都变成了0