未声明的标识符 SQL_SS_TABLE
undeclared identifier SQL_SS_TABLE
我想使用 ODBC 在 C++ 中使用 Table 值参数。有许多用于使用 ODBC 处理 TVP 的有趣示例。例如here
一个非常好的函数是 SQLbinparameter. From here 对于 Table 值参数这个函数应该是这样的:
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
我应该怎么做才能解决这个问题?
我猜测您正试图在 Linux 上使用此功能,而最流行的 linux ODBC 包 (unixODBC) 根本不支持此功能。
如果您使用 Microsoft 官方驱动程序(Linux 上 SQL 服务器的 Microsoft ODBC 驱动程序),则有可能支持此功能。
它是一个特定于驱动程序的类型。 SQL 服务器示例使用位于
的 sqlncli.h 头文件
C:\Program Files\Microsoft SQL Server0\SDK\Include
它定义 SQL_SS_TABLE
以及其他 SQL Server 2012 驱动程序特定类型。包含此文件将解决未声明的标识符错误。
感谢 "Viorel_" 最初在 MSDN 论坛上回答了这个问题:Using new ODBC sql data typ SQL_SS_TABLE in c++
我想使用 ODBC 在 C++ 中使用 Table 值参数。有许多用于使用 ODBC 处理 TVP 的有趣示例。例如here
一个非常好的函数是 SQLbinparameter. From here 对于 Table 值参数这个函数应该是这样的:
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
我应该怎么做才能解决这个问题?
我猜测您正试图在 Linux 上使用此功能,而最流行的 linux ODBC 包 (unixODBC) 根本不支持此功能。
如果您使用 Microsoft 官方驱动程序(Linux 上 SQL 服务器的 Microsoft ODBC 驱动程序),则有可能支持此功能。
它是一个特定于驱动程序的类型。 SQL 服务器示例使用位于
的 sqlncli.h 头文件C:\Program Files\Microsoft SQL Server0\SDK\Include
它定义 SQL_SS_TABLE
以及其他 SQL Server 2012 驱动程序特定类型。包含此文件将解决未声明的标识符错误。
感谢 "Viorel_" 最初在 MSDN 论坛上回答了这个问题:Using new ODBC sql data typ SQL_SS_TABLE in c++