无法将本地数据适配器连接到架构



这是我的处境

我有一个名为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的地方。

起初我得到了这个错误:

"服务器上引发异常:Acces Violation ad Adress模块中的014FD9C0。。。。读取地址0000098"

经过大量工作,我设法修复了这一部分,但现在我遇到的问题是,当我分配服务器实例时,它被分配为null,无法找出原因,因为在上面的代码中,我已经在这里呆了一段时间,但无法通过这一部分。

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

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

相关内容

  • 没有找到相关文章

最新更新