s:服务名称
u:用户名
p:密码我的oracle数据库服务名:flagdata
为何只有本地机可以连接  我的计算机名称为 MYHOST请问别的机子怎么连接??   服务名称怎么写?????函数如下:
function Ora_Open(S:string;U:String;P:String): Boolean;begin
  ssnOraSys := TSession.Create(nil);
  dbOraSys := TDatabase.Create(nil);
  try
  with ssnOraSys do
  begin
    AutoSessionName := True;
    KeepConnections := True;
    SQLHourGlass := False;
  end;
  
  with dbOraSys  do
  begin
    DriverName := 'Oracle';
    DatabaseName := 'OraDB';
    Exclusive := True;
    LoginPrompt := False;
    Params.Clear;
    Params.Add('SERVER NAME='+s);
    Params.Add('USER NAME='+U);
    Params.Add('PASSWORD='+P);
    Params.Add('NET PROTOCOL=TNS');
    Params.Add('OPEN MODE=READ/WRITE');
    Params.Add('SCHEMA CACHE SIZE=8');
    Params.Add('LANGDRIVER=');
    Params.Add('SQLQRYMODE=');
    Params.Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT' );
    Params.Add('SCHEMA CACHE TIME=-1' );
    Params.Add('MAX ROWS=-1'   );
    Params.Add('BATCH COUNT=200'   );
    Params.Add('ENABLE SCHEMA CACHE=FALSE'  );
    Params.Add('SCHEMA CACHE DIR=');
    Params.Add('ENABLE BCD=FALSE' );
    Params.Add('ENABLE INTEGERS=FALSE' );
    Params.Add('LIST SYNONYMS=NONE' );
    Params.Add('ROWSET SIZE=20'  );
    Params.Add('BLOBS TO CACHE=64' );
    Params.Add('BLOB SIZE=32'  );
    Params.Add('OBJECT MODE=TRUE'  );
  end; //WITH    dbOraSys.Open;
    Result := dbOraSys.Connected;
  except
    Result := False;
    exit;
  end; //TRY
end;

解决方案 »

  1.   

    试试:SERVER NAME=\\机器名\服务名
      

  2.   

    其他的机器要先配置ORACLE客户端
      

  3.   

    汗 
    其他机器要用ORACLE客户端
    配置好需要访问的机器的
    ORACLE服务的服务名的
      

  4.   

    Oracle和Sqlserver 2000不同的,要在本地先配好服务
      

  5.   

    我现在做的项目就用Delphi连接Oracle~~可惜手上没有相关的资料~~下次贴出来吧~~不过连接Oracle时是要配置客户端~~
      

  6.   

    我现在也在作通过BDE连接Oracle的项目,需要在客户机上配置Oracle客户端的。
      

  7.   

    BDE比较烦,现在dbexpress,很好用,你可以参考。发布程序时只需发布两个文件即可。比方便