Database: IDatabase;
Database: Prognoz.Platform.Interop.Db.IDatabase;
Свойство Database определяет базу данных, в которой будут храниться объекты репозитория расширенного хранилища данных.
Интерфейс IDWRepositoryDatabase устарел.
Объект «Репозиторий расширенного хранилища данных» используется только для поддержки ранних версий.
Без базы данных работа с репозиторием расширенного хранилища данных невозможна. Для получения базы данных открытого экземпляра репозитория расширенного хранилища данных используйте метод IDWRepositoryDatabaseInstance.Database.
Для выполнения примера предполагается наличие в репозитории базы данных с идентификатором «DATA».
Добавьте ссылки на системные сборки: Db, Metabase.
Sub UserProc;
Var
Mb: IMetabase;
Inf: IMetabaseObjectCreateInfo;
Des: IMetabaseObjectDescriptor;
Dw: IDWRepositoryDatabase;
Begin
Mb := MetabaseClass.Active;
Inf := Mb.CreateCreateInfo;
Inf.ClassId := MetabaseObjectClass.KE_CLASS_DW_REPOSITORYDB;
Inf.Id := Mb.GenerateId("DW_REPO");
Inf.Name := Inf.DefaultName;
Inf.KeepEdit := True;
Inf.Permanent := False;
Des := Mb.CreateObject(Inf);
Dw := Des As IDWRepositoryDatabase;
Dw.Database := Mb.ItemById("DATA").Bind As IDatabase;
(Dw As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера в корневой папке репозитория будет создан репозиторий расширенного хранилища данных.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Db;
…
Public Shared Sub Main(Params: StartParams);
Var
Mb: IMetabase;
Inf: IMetabaseObjectCreateInfo;
Des: IMetabaseObjectDescriptor;
Dw: IDWRepositoryDatabase;
Begin
Mb := Params.Metabase;
Inf := Mb.CreateCreateInfo();
Inf.ClassId := MetabaseObjectClass.KE_CLASS_DW_REPOSITORYDB As Integer;
Inf.Id := Mb.GenerateId("DW_REPO", 0);
Inf.Name := Inf.DefaultName;
Inf.KeepEdit := True;
Inf.Permanent := False;
Des := Mb.CreateObject(Inf);
Dw := Des As IDWRepositoryDatabase;
Dw.Database := Mb.ItemById["DATA"].Bind() As IDatabase;
(Dw As IMetabaseObject).Save();
End Sub;
См. также: