Перенос данных в программные переменные

Приложения, которые обращаются к базам данных SQL Server через функции API для работы с базами данных, должны перемещать данные между переменными приложений и объектами, перечисленными ниже.

  • Столбцы результирующего набора

    Приложения должны перемещать данные в переменные приложения из столбцов выбранной строки результирующего набора.

  • Коды возврата

    Приложения должны перемещать данные в переменную приложения из кода возврата хранимой процедуры.

  • Параметры

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

  • Маркеры параметров

    Маркеры параметров ODBC и OLE DB используются в инструкциях SQL либо вместо входных выражений (например в условиях поиска предложения WHERE), либо вместо параметров и кодов возврата хранимой процедуры. Приложения должны перемещать данные из переменных приложения и выражения, замещенного маркером параметра. Дополнительные сведения см. в разделе Маркеры параметров (компонент Database Engine).

Привязка

Многие функции API для работы с базами данных используют концепцию привязки с целью указания правил перемещения данных между переменной приложения и объектом SQL Server. С помощью функций API для баз данных можно:

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

  • Связать столбец результирующего набора, код возврата, параметр или маркер параметра с конкретной переменной или массивом переменных. Данные привязки обычно включают в себя следующее:

    • Адрес и атрибуты (тип данных, размер, точность и масштаб) переменной.

    • Имя и атрибуты объекта базы данных.

Перемещение данных обычно требуется, когда происходит одно из действий:

  • Выполняется инструкция или пакет на языке Transact-SQL.

    Поставщик OLE DB или драйвер ODBC запрашивает данные, привязанные к любым входным параметрам или маркерам параметров, и включает их в пакет, отправляемый на экземпляр SQL Server.

  • Производится выборка строки результирующего набора.

    Поставщик OLE DB или драйвер ODBC перемещает данные каждого столбца в связанные переменные.

  • Выбраны или отменены все результирующие наборы из хранимой процедуры.

    Поставщик OLE DB или драйвер ODBC перемещает данные каждого выходного параметра или коды возврата в связанные переменные.

Связанные переменные приложений не обязательно должны иметь тот же тип данных, что объект SQL Server, к которому они привязаны. Если типы данных отличаются, поставщик OLE DB или драйвер ODBC конвертирует данные при перемещении. Наборы преобразований, поддерживаемые каждым из поставщиков OLE DB или драйверов ODBC, описаны в документации по поставщику или драйверу.