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