CheckTable(Database: IDatabaseInstance): Boolean;
CheckTable(Prognoz.Platform.Interop.Db.IDatabaseInstance): boolean;
Database. База данных, в которой необходимо проверить существование таблицы, указанной в схеме импорта.
Метод CheckTable осуществляет проверку на существование таблицы, указанной в схеме экспорта справочника НСИ.
Метод возвращает значение True, если указанная в схеме импорта таблица существует.
Для выполнения примера потребуются созданный репозиторий НСИ с идентификатором NSI и размещённый в нём справочник НСИ с идентификатором NSI_DICT. Также необходимо создать в справочнике схему экспорта с идентификатором EXPORTSCHEMA.
Добавьте ссылки на системные сборки «Metabase», «Rds», «Db».
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Dict: IRdsDictionary;
ExportSchemas: IRdsExportSchemas;
ExportSchema: IRdsExportSchema;
Database: IDatabaseInstance;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemByIdNamespace("NSI_SEP", MB.GetObjectKeyById("NSI")).Bind; Dict := MObj As IRdsDictionary;
ExportSchemas := Dict.ExportSchemas;
ExportSchema := ExportSchemas.FindById("EXPORTSCHEMA");
Debug.WriteLine(ExportSchema.CheckTable(Database)? "Таблица существует" : "Таблица не найдена");
End Sub UserProc;
После выполнения примера будет произведена проверка на реальное существование таблицы, указанной в схеме экспорта справочника НСИ и выведено сообщение с её результатом.
Для выполнения примера потребуются созданный репозиторий НСИ с идентификатором NSI и размещённый в нём справочник НСИ с идентификатором NSI_DICT. Также необходимо создать в справочнике схему экспорта с идентификатором EXPORTSCHEMA.
Imports Prognoz.Platform.Interop.Rds;
Imports Prognoz.Platform.Interop.Db;
…
Public Sub UserProc(Params: StartParams);
Var
MB: IMetabase; MObj: IMetabaseObject;
Dict: IRdsDictionary;
ExportSchemas: IRdsExportSchemas;
ExportSchema: IRdsExportSchema;
Database: IDatabaseInstance;
Begin
MB := Params.Metabase;
MObj := MB.ItemByIdNamespace["NSI_SEP", MB.GetObjectKeyById("NSI")].Bind();
Dict := MObj As IRdsDictionary;
ExportSchemas := Dict.ExportSchemas;
ExportSchema := ExportSchemas.FindById("EXPORTSCHEMA");
Debug.WriteLine(ExportSchema.CheckTable(Database)? "Таблица существует" : "Таблица не найдена");
End Sub UserProc;
После выполнения примера будет произведена проверка на существование таблицы, указанной в схеме экспорта справочника НСИ и выведено сообщение с её результатом.
См. также: