необъявленный идентификатор SQL_SS_TABLE

Я хотел бы работать с табличным параметром в C ++, используя ODBC. Существует множество интересных примеров работы с TVP с ODBC. Например Вот

Очень хорошая функция SQLbinparameter. От Вот для параметра Table Valued эта функция должна выглядеть так:

r = SQLBindParameter(hstmt,
2,// ParameterNumber
SQL_PARAM_INPUT,// InputOutputType
SQL_C_DEFAULT,// ValueType
SQL_SS_TABLE,// Parametertype
ITEM_ARRAY_SIZE,// ColumnSize: For a table-valued parameter this is the row array size.
0,// DecimalDigits: For a table-valued parameter this is always 0.
TVP,// ParameterValuePtr: For a table-valued parameter this is the type name of the
//table-valued parameter, and also a token returned by SQLParamData.
SQL_NTS,// BufferLength: For a table-valued parameter this is the length of the type name or SQL_NTS.
&cbTVP);// StrLen_or_IndPtr: For a table-valued parameter this is the number of rows actually use

Но я получаю ошибку: error C2065: SQL_SS_TABLE undeclared identifier

что я должен сделать, чтобы решить эту проблему?

1

Решение

Я собираюсь догадаться, что вы пытаетесь использовать эту функцию в Linux, и самый популярный пакет ODBC для Linux (unixODBC) просто не поддерживает эту функцию.

Существует вероятность того, что если вы используете официальный драйвер Microsoft (драйвер Microsoft ODBC для SQL Server в Linux), эта функция будет поддерживаться.

-1

Другие решения

Это специфичный для водителя тип. Примеры SQL Server используют файле sqlncli.h заголовочный файл, расположенный в

C: \ Program Files \ Microsoft SQL Server \ 110 \ SDK \ Включить

Определяет SQL_SS_TABLE вместе с другими типами драйверов SQL Server 2012. Включение этого файла устранит ошибку необъявленного идентификатора.

Кредиты «Viorel_» для первоначального ответа на этот вопрос на форумах MSDN: Используя новый ODBC SQL тип данных SQL_SS_TABLE в C ++

1

По вопросам рекламы [email protected]