如何用Delphi访问EaServer,以及怎么调用其中的组件? ( 积分: 200 )

  • 主题发起人 主题发起人 yuhouyangguang
  • 开始时间 开始时间
Y

yuhouyangguang

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用Delphi访问EaServer,以及怎么调用其中的组件?我的初衷是在EaServer中发布一个公用接口,为其他的开发工具提供访问数据库的接口,想通过CORBA来实现,因为EAServer和Delphi都支持CORBA。不知道谁有这方面的经历啊?还望赐教,
 
如何用Delphi访问EaServer,以及怎么调用其中的组件?我的初衷是在EaServer中发布一个公用接口,为其他的开发工具提供访问数据库的接口,想通过CORBA来实现,因为EAServer和Delphi都支持CORBA。不知道谁有这方面的经历啊?还望赐教,
 
紧急求救!
 
Sybase的那个EAServer?感觉用一家人的东西比较好,为什么不用PB呢?个人看法,等高手
 
我们开发的系统都是用PB+EaServer来实现的,但是该系统因为应用的特殊性,必须开发公共组件以便其他开发工具开发的前台能通过我们给他的接口去访问后台数据库,也就是要让客户端访问中间层的平台无关性。
 
那就看看EAServer官方文档里面有没有其他语言调用的范例,拿过来改一下看
 
哥们还有谁知道啊?
 
太偏门了,只有看看官方文档有没有说明和范例了
 
唉,官方文档里也没有啊
 
现在在EaServer上发布了一个组件,用idl2pas将IDL转换成_c和_i文件,在Delphi客户端里加入这两个文件.通过客户端程序访问EaServer上的这个组件.客户端代码如下:
Function TForm1.ConnectCorbaServer: Boolean;
var
s: String;
Root_OBJ: CorbaObject;
Root_OBJPROXY:ORBPAS30.ObjectProxy;
ORBProxy1:ORBProxy;
begin
Result := False;
//s := GetIORFromFile(IORFile);
s:='IOR:010000001F00000049444C3A53657373696F6E4D616E616765722F4D616E616765723'
+'A312E30000002000000000000001A0000000101000009000000756A732D32303035000028'
+'23020000004D000000F0FAFA0A0100000001';
try
//ORBProxy1.String_To_Object(PChar(Pointer(s)),Root_OBJPROXY);
//SaveToLog('*****************开始联接服务器**********************');
//SaveToLog('开始时间:'+GetNowTime);
Memo1.Lines.Add('*****************开始联接服务器**********************');
except
Memo1.Lines.Add('Proxy连接失败。请重新连接。');
Exit;
end;
Try
Root_Obj := Orb.StringToObject(s);
//SaveToLog(GetNowTime+'IOR文件转换成功。');
Memo1.Lines.Add('IOR文件转换成功。');
Except
//SaveToLog(GetNowTime+'IOR文件转换失败。请重新连接。');
Memo1.Lines.Add('IOR文件转换失败。请重新连接。');
Exit;
end;
Root_Obj
Memo1.Lines.Add(Root_Obj._RepositoryId);
Try
Acct := Tn_corba_testHelper.Narrow(Root_Obj,true);
if Acct = nil then
begin
//SaveToLog(GetNowTime+'RootContext获取失败。请重新连接。');
Memo1.Lines.Add('RootContext获取失败。请重新连接。');
Exit;
end;
//SaveToLog(GetNowTime+'RootContext获取成功。');
Memo1.Lines.Add('RootContext获取成功。');
Except
//SaveToLog(GetNowTime+'RootContext获取失败。请重新连接。');
Memo1.Lines.Add('RootContext获取失败。请重新连接。');
Exit;
end;
Try
//if not LoadAllSerivce(Acct) then
Exit;
Except
Exit;
end;
Result := True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ConnectCorbaServer;
end;

无法找到该EaServer上的组件,请高手指点指点.
 
EA是sybase的应用服务器,
支持最通用的WEB SERVICE,
不是什么偏门的技术,
至于delphi开发使用WEB SERVICE,
李维有本入门书,delphi 6的,
虽然简单,看看也能用了,
这里有篇文章也可以参考下:
http://www.huihoo.com/middleware/sybase/webservice/
 
兄台,我知道WebService也能实现,而且实现这种的方法也很多,但是我现在选择了corba,就只有坚持了。
 
后退
顶部