Поделиться через


параметры Table-Valued (ODBC)

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

Сведения о табличном значении параметров на сервере см. в разделе "Использование параметров Table-Valued ( ядро СУБД)".

В ODBC существует два способа отправки табличных параметров на сервер:

  • Все данные табличного параметра могут находиться в памяти во время вызова SQLExecDirect или SQLExecute. Эти данные хранятся в массивах, если в табличном значении имеется несколько строк.

  • Приложение может указать данные при выполнении для табличного параметра при вызове SQLExecDirect или SQLExecute. В этом случае строки данных для табличного значения могут быть предоставлены в пакетах или одновременно, чтобы сократить требования к памяти.

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

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

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

В этом разделе

Использование параметров Table-Valued ODBC
Описывает основные пользовательские сценарии для параметров с табличным значением и ODBC.

Тип SQL ODBC для параметров Table-Valued
Описывает тип SQL_SS_TABLE. Это новый тип SQL ODBC, поддерживающий табличное значение параметров.

Поля дескриптора параметраTable-Valued
Описывает поля дескриптора, поддерживающие табличное значение параметров.

Поля дескриптора для составных столбцов параметров Table-Valued
Описывает поля дескриптора, имеющие значение для параметров с табличным значением.

Поля диагностических записей параметровTable-Valued
Описывает два поля диагностики, которые были добавлены в диагностические записи для поддержки параметров с табличным значением.

Атрибуты инструкции, влияющие на параметры Table-Valued
Описывает новое поле заголовка дескриптора, которое позволяет устранять столбцы параметров с табличным значением.

Привязка и передача данных Table-Valued параметров и значений столбцов
Описывает привязку параметров и способ передачи табличного параметра серверу.

метаданные параметраTable-Valued для подготовленных инструкций
Описывает, как приложение может получить метаданные для подготовленного вызова процедуры.

Дополнительные метаданные параметра Table-Valued
Описывает использование SQLProcedureColumns, SQLTables и SQLColumns для получения метаданных для параметра с табличным значением.

Table-Valued преобразование данных параметров и другие ошибки и предупреждения
Описывает обработку ошибок в значениях столбцов столбцов параметров с табличным значением.

Совместимость между версиями
Описывает конфликты, которые могут возникать, когда табличное значение параметров используются клиентом или сервером версии до SQL Server 2008.

Сводка ПО API параметров ODBC Table-Valued
Выводит список функций ODBC, поддерживающих табличное значение параметров.

Примеры программирования параметров ODBC Table-Valued
Описывает, как выполнять распространенные задачи.

См. также

SQL Server Native Client (ODBC)
параметрыTable-Valued (собственный клиент SQL Server)