Бөлісу құралы:


Как используются метаданные?

Приложения требуют метаданных для большинства операций с результирующими наборами. Например, приложение использует тип данных столбца для определения типа переменной для привязки к данному столбцу. Он использует длину байтов символьного столбца, чтобы определить, сколько пространства требуется для отображения данных из этого столбца. Как приложение определяет метаданные для столбца, зависит от типа приложения.

Вертикальные приложения работают с предопределенными таблицами и выполняют предопределенные операции с этими таблицами. Так как метаданные результирующих наборов для таких приложений определены до того, как приложение даже записывается и управляется разработчиком приложения, его можно жестко закодировать в приложении. Например, если столбец идентификатора заказа определен как целое число 4-байтов в источнике данных, приложение всегда может привязать целое число 4-байтов к данному столбцу. Если метаданные жестко закодируются в приложении, изменение таблиц, используемых приложением, обычно подразумевает изменение кода приложения. Это редко проблема, так как такие изменения обычно вносятся в рамках нового выпуска приложения.

Как и вертикальные приложения, пользовательские приложения обычно работают с предопределенными таблицами и выполняют предопределенные операции с этими таблицами. Например, приложение может быть записано для передачи данных между тремя различными источниками данных; Передаваемые данные обычно известны при написании приложения. Таким образом, пользовательские приложения также, как правило, имеют жестко закодированные метаданные.

Универсальные приложения, особенно те, которые поддерживают нерегламентированные запросы, почти никогда не знают метаданные создаваемых результирующих наборов. Поэтому они должны обнаруживать метаданные во время выполнения с помощью функций SQLNumResultCols, SQLDescribeCol и SQLColAttribute, которые описаны в следующем разделе, SQLDescribeCol и SQLColAttribute.

Все приложения, независимо от их типа, могут жестко прописывать метаданные для наборов результатов, возвращаемых функциями каталога. Эти результирующие наборы определены в справочном разделе этого руководства.