Не удается подключить адаптеры LocalData к схемам
Это моя ситуация
У меня есть Сервис 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
,
Сначала я получил эту ошибку:
"На сервере возникла исключительная ситуация: сообщение о нарушении Adress 014FD9C0 в модуле.... Читать адрес 0000098"
Мне удалось исправить эту часть после большой работы, но теперь у меня проблема в том, что когда я назначил экземпляр сервера, он назначается как нулевой, не могу понять причину, почему, так как в приведенном выше коде это было, здесь на некоторое время, но не могу пройти эту часть.
1 ответ
Успешно исправить это: чтобы использовать локальный адаптер данных для подключения к другой службе, содержащей таблицы данных, служба, с которой вы работаете, должна быть потомком TDataAbstractService, в противном случае она вернет ошибку чтения доступа.
код, устанавливающий соединение, на самом деле правильный.