无法将LocalData适配器连接到架构

时间:2016-01-08 20:00:21

标签: delphi-xe remobjects dataabstract

这是我的情况

我有一个名为BaseDataService的服务,在这里我创建了一个LocalDataAdapter,我将使用它来连接到名为DataBaseLayer的特定服务。我正在尝试连接的服务包含需要使用所有数据表的模式。

然后我创建了另一个来自BaseDataService的服务,因此它包含前面提到的LocalDataAdapter。问题是在配置本地数据适配器后,我无法打开DataBaseLayer服务中的数据表。发布代码:

 Procedure TBaseDataService.ConnectDatabaseLayerToAdapter
 begin
   DataBaseLayerAdapter.ServiceInstance := DatabaseLayerService as IDataAbstractLocalServiceAccess
 end

 Procedure TBaseDataService.DataAbstractServiceCreate(Sender: TObject);
 begin
   DataBaseLayerAdapter.ServiceName := ' ';
 end

 function TBaseDataService.GetDataBaseLayerService: IDataBaseLayerService;
 begin
   if not Assigned(FDatabaseLayerService) then
     FDataBaseLayerService := (CreateAndConnectService('DataBaseLayerService') as IDataBaseLayerService);
   Result := FDataBaseLayerService;
 end


   ConnectDataBaseLayerToAdapter;
   tbl_SA_Receipts.Open;

注意:最后一部分是我尝试连接DataBaseLayerService的地方。

起初我收到了这个错误:

  

“服务器上出现异常:访问违规广告地址   模块中的014FD9C0 ....读取地址0000098“

我设法在经过大量工作后修复此部分,但现在我遇到的问题是当我分配服务器实例时,它被指定为null,无法弄清楚原因,因为在上面的代码中那个,已经在这里待了一段时间但是无法超越这一部分。

1 个答案:

答案 0 :(得分:0)

管理以解决此问题: 为了使用本地数据适配器连接到包含数据表的另一个服务,您要同意的服务必须是TDataAbstractService的后代,否则它将返回读取访问错误。

建立连接的代码实际上是正确的。