Result GetDatabaseData(OdId tOb, GetDatabaseDataArg tArg)
tOb. Моникёр объекта репозитория, являющегося базой данных.
tArg. Параметры выполнения операции.
Операция GetDatabaseData получает информацию о базе данных и её таблицах.
Для выполнения операции укажите в поле tOb моникёр объекта репозитория, являющегося базой данных, а в поле tArg шаблон, в соответствии с которым будет получена информация. Моникёр объекта может быть получен при выполнении операции GetObjects.
Результатом выполнения операции будет полученная информация о базе данных.
Ниже приведён пример получения информации о базе данных и её таблицах. В запросе передается моникёр базы данных в репозитории. В ответе возвращается драйвер, используемый базой данных, признак автоматического подключения и список физических имён таблиц, хранящихся на сервере СУБД.
В примере C# используется функция FindObjectById, код которой приведён в примере «Получение описания объекта по его идентификатору».
{
"GetDatabaseData" :
{
"tOb" :
{
"id" : "GDDDOLIINILHGOAEPLFHMCEACBLGJGHEAKHGLPEKDKEIIJNJ!M!52"
},
"tArg" :
{
"dataGet" :
{
"driver" : "true",
"loginPrompt" : "true",
"tables" : "true"
}
}
}
}
{
"GetDatabaseDataResult" :
{
"data" :
{
"driver" : "POSTGRES",
"loginPrompt" : "0",
"tables" :
{
"its" :
{
"it" :
[
{
"name" : "b_du"
},
{
"name" : "b_jau"
},
{
"name" : "obj132"
},
{
"name" : "obj133"
},
{
"name" : "obj162"
},
{
"name" : "obj200data"
},
{
"name" : "obj634"
},
{
"name" : "obj6460"
},
{
"name" : "obj6464"
},
{
"name" : "obj6466"
},
{
"name" : "obj6476"
},
{
"name" : "obj6537"
},
{
"name" : "obj6561"
},
{
"name" : "obj6602"
},
{
"name" : "obj664"
},
{
"name" : "t141"
},
{
"name" : "t158"
},
{
"name" : "t160"
},
{
"name" : "t203"
},
{
"name" : "t206"
},
{
"name" : "t568"
},
{
"name" : "t569"
},
{
"name" : "t627"
},
{
"name" : "t630"
},
{
"name" : "t642"
},
{
"name" : "t6426"
},
{
"name" : "t644"
},
{
"name" : "t646"
},
{
"name" : "t6478"
},
{
"name" : "t6480"
},
{
"name" : "t6532"
},
{
"name" : "t6535"
},
{
"name" : "t655"
},
{
"name" : "t6554"
},
{
"name" : "t6557"
},
{
"name" : "t657"
},
{
"name" : "t_month"
},
{
"name" : "t_quarter"
},
{
"name" : "t_sep"
},
{
"name" : "t_source"
},
{
"name" : "t_to"
},
{
"name" : "t_year"
}
]
}
}
}
}
}
public static GetDatabaseDataResult GetDatabaseData(MbId mb, string id)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tGet = new GetDatabaseData()
{
tArg = new GetDatabaseDataArg()
{
dataGet = new DatabaseDataPattern()
{
driver = true,
loginPrompt = true,
tables = true
}
},
tOb = new OdId() { id = mb.id + "!" + FindObjectById(mb, id).k }
};
// Получение информации о базе данных
var tResult = somClient.GetDatabaseData(tGet);
return tResult;
}
См. также: