Определяемые пользователем типы данных больших значений CLR (ODBC)Large CLR User-Defined Types (ODBC)

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL Database ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed Instance даAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics даПараллельное хранилище данныхParallel Data WarehouseyesПараллельное хранилище данныхParallel Data WarehouseПрименимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL Database ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed Instance даAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics даПараллельное хранилище данныхParallel Data WarehouseyesПараллельное хранилище данныхParallel Data Warehouse

В этом разделе обсуждаются изменения ODBC в собственном клиенте SQL Server для поддержки определяемых пользователем типов данных CLR.This topic discusses the changes to ODBC in SQL Server Native Client to support large common language runtime (CLR) user-defined types (UDTs).

Пример, демонстрирующий поддержку ODBC для больших определяемых пользователем типов CLR, см. в разделе Поддержка больших определяемых пользователем типов.For a sample showing ODBC support for large CLR UDTs, see Support for Large UDTs.

Дополнительные сведения о поддержке больших определяемых пользователем типов CLR в SQL Server Native Client см. в разделе типы больших пользовательских данных CLR.For more information about support for large CLR UDTs in SQL Server Native Client, see Large CLR User-Defined Types.

Формат данныхData Format

Собственный клиент SQL Server использует значение SQL_SS_LENGTH_UNLIMITED для обозначения того, что размер столбца больше чем 8000 байт для типов больших объектов.SQL Server Native Client uses SQL_SS_LENGTH_UNLIMITED to denote that the size of a column is greater than 8,000 bytes for large object (LOB) types. Начиная с SQL Server 2008, при размере столбца больше 8000 байт для определяемых пользователем типов данных больших значений CLR используется такое же значение.Beginning with SQL Server 2008, the same value is used for CLR UDTs when their size is greater than 8,000 bytes.

Значения определяемых пользователем типов представляются в виде массивов байт.UDT values are represented as byte arrays. Поддерживается преобразование данных в шестнадцатеричные строки и из шестнадцатеричных строк.Conversions to and from hex strings are supported. Литеральные значения представляются в виде шестнадцатеричных строк с префиксом «0x».Literal values are represented as hex strings with a prefix of "0x".

В следующей таблице показано сопоставление типов данных в параметрах и результирующих наборах.The following table shows data type mapping in parameters and result sets:

Тип данных SQL ServerSQL Server data type Тип данных SQLSQL data type ЗначениеValue
определяемый пользователем тип среды CLRCLR UDT SQL_SS_UDTSQL_SS_UDT -151 (sqlncli.h)-151 (sqlncli.h)

В следующей таблице обсуждается соответствующая структура и тип ODBC C.The following table discusses the corresponding structure and ODBC C type. По сути, определяемый пользователем тип данных CLR является типом varbinary с дополнительными метаданными.Essentially, CLR UDT is a varbinary type with additional metadata.

Тип данных SQLSQL data type Организация памятиMemory layout Тип данных CC data type Значение (sqlext.h)Value (sqlext.h)
SQL_SS_UDTSQL_SS_UDT SQLCHAR * (неподписанный знак * )SQLCHAR *(unsigned char *) SQL_C_BINARYSQL_C_BINARY SQL_BINARY (-2)SQL_BINARY (-2)

Поля дескрипторов для параметровDescriptor Fields for Parameters

Сведения, возвращаются в поля дескриптора параметра реализации (IPD) следующим образом.Information returned in the IPD fields is as follows:

Поле дескриптораDescriptor field SQL_SS_UDTSQL_SS_UDT

(длина не более 8 000 байт)(length less than or equal to 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT

(длина более 8 000 байт)(length greater than 8,000 bytes)
SQL_DESC_CASE_SENSITIVESQL_DESC_CASE_SENSITIVE SQL_FALSESQL_FALSE SQL_FALSESQL_FALSE
SQL_DESC_CONCISE_TYPESQL_DESC_CONCISE_TYPE SQL_SS_UDTSQL_SS_UDT SQL_SS_UDTSQL_SS_UDT
SQL_DESC_DATETIME_INTERVAL_CODESQL_DESC_DATETIME_INTERVAL_CODE 00 00
SQL_DESC_DATETIME_INTERVAL_PRECISIONSQL_DESC_DATETIME_INTERVAL_PRECISION nn SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0)
SQL_DESC_FIXED_PREC_SCALESQL_DESC_FIXED_PREC_SCALE SQL_FALSESQL_FALSE SQL_FALSESQL_FALSE
SQL_DESC_LENGTHSQL_DESC_LENGTH nn SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0)
SQL_DESC_LOCAL_TYPE_NAMESQL_DESC_LOCAL_TYPE_NAME "udt""udt" "udt""udt"
SQL_DESC_OCTET_LENGTHSQL_DESC_OCTET_LENGTH nn SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0)
SQL_DESC_PRECISIONSQL_DESC_PRECISION nn SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0)
SQL_DESC_SCALESQL_DESC_SCALE 00 00
SQL_DESC_TYPESQL_DESC_TYPE SQL_SS_UDTSQL_SS_UDT SQL_SS_UDTSQL_SS_UDT
SQL_DESC_TYPE_NAMESQL_DESC_TYPE_NAME "udt""udt" "udt""udt"
SQL_DESC_UNSIGNEDSQL_DESC_UNSIGNED SQL_TRUESQL_TRUE SQL_TRUESQL_TRUE
SQL_CA_SS_UDT_CATALOG_NAMESQL_CA_SS_UDT_CATALOG_NAME Имя каталога, содержащего определяемый пользователем тип.The name of the catalog that contains the UDT. Имя каталога, содержащего определяемый пользователем тип.The name of the catalog that contains the UDT.
SQL_CA_SS_UDT_SCHEMA_NAMESQL_CA_SS_UDT_SCHEMA_NAME Имя схемы, содержащей определяемый пользователем тип.The name of the schema that contains the UDT. Имя схемы, содержащей определяемый пользователем тип.The name of the schema the contains the UDT.
SQL_CA_SS_UDT_TYPE_NAMESQL_CA_SS_UDT_TYPE_NAME Имя определяемого пользователем типа.The name of the UDT. Имя определяемого пользователем типа.The name of the UDT.
SQL_CA_SS_UDT_ASSEMBLY_TYPE_NAMESQL_CA_SS_UDT_ASSEMBLY_TYPE_NAME Полное имя определяемого пользователем типа.The fully-qualified name of the UDT. Полное имя определяемого пользователем типа.The fully-qualified name of the UDT.

Для параметров определяемого пользователем типа параметр SQL_CA_SS_UDT_TYPE_NAME всегда должен быть задан через SQLSetDescField.For UDT parameters, SQL_CA_SS_UDT_TYPE_NAME must always be set via SQLSetDescField. Значения SQL_CA_SS_UDT_CATALOG_NAME и SQL_CA_SS_UDT_SCHEMA_NAME не обязательны.SQL_CA_SS_UDT_CATALOG_NAME and SQL_CA_SS_UDT_SCHEMA_NAME are optional.

Если определяемый пользователем тип и таблица определяются в одной базе данных, но с разными схемами, необходимо установить SQL_CA_SS_UDT_SCHEMA_NAME.If the UDT is defined in the same database with a different schema than the table, SQL_CA_SS_UDT_SCHEMA_NAME must be set.

Если определяемый пользователем тип и таблица определяются в разных базах данных, необходимо установить SQL_CA_SS_UDT_CATALOG_NAME и SQL_CA_SS_UDT_SCHEMA_NAME.If the UDT is defined in a different database than the table, SQL_CA_SS_UDT_CATALOG_NAME and SQL_CA_SS_UDT_SCHEMA_NAME must be set.

Если в установках для SQL_CA_SS_UDT_TYPE_NAME, SQL_CA_SS_UDT_CATALOG_NAME или SQL_CA_SS_UDT_SCHEMA_NAME существуют какие-либо ошибки или пропуски, то создается запись диагностики с кодом SQLSTATE HY000 и специфичный для сервера текст сообщения.If there are any errors or omissions in the settings for SQL_CA_SS_UDT_TYPE_NAME, SQL_CA_SS_UDT_CATALOG_NAME, or SQL_CA_SS_UDT_SCHEMA_NAME, a diagnostic record is generated with SQLSTATE HY000 and server-specific message text.

Поля дескрипторов для результатовDescriptor Fields for Results

Сведения, возвращаются в поля дескриптора строки реализации (IRD) следующим образом.Information returned in the IRD fields is as follows:

Поле дескриптораDescriptor field SQL_SS_UDTSQL_SS_UDT

(длина не более 8 000 байт)(length less than or equal to 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT

(длина более 8 000 байт)(length greater than 8,000 bytes)
SQL_DESC_AUTO_UNIQUE_VALUESQL_DESC_AUTO_UNIQUE_VALUE SQL_FALSESQL_FALSE SQL_FALSESQL_FALSE
SQL_DESC_CASE_SENSITIVESQL_DESC_CASE_SENSITIVE SQL_FALSESQL_FALSE SQL_FALSESQL_FALSE
SQL_DESC_CONCISE_TYPESQL_DESC_CONCISE_TYPE SQL_SS_UDTSQL_SS_UDT SQL_SS_UDTSQL_SS_UDT
SQL_DESC_DATETIME_INTERVAL_CODESQL_DESC_DATETIME_INTERVAL_CODE 00 00
SQL_DESC_DATETIME_INTERVAL_PRECISIONSQL_DESC_DATETIME_INTERVAL_PRECISION nn SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0)
SQL_DESC_DISPLAY_SIZESQL_DESC_DISPLAY_SIZE 2n2n SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0)
SQL_DESC_FIXED_PREC_SCALESQL_DESC_FIXED_PREC_SCALE SQL_FALSESQL_FALSE SQL_FALSESQL_FALSE
SQL_DESC_LENGTHSQL_DESC_LENGTH nn SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0)
SQL_DESC_LITERAL_PREFIXSQL_DESC_LITERAL_PREFIX "0x""0x" "0x""0x"
SQL_DESC_LITERAL_SUFFIXSQL_DESC_LITERAL_SUFFIX """" """"
SQL_DESC_LOCAL_TYPE_NAMESQL_DESC_LOCAL_TYPE_NAME "udt""udt" "udt""udt"
SQL_DESC_OCTET_LENGTHSQL_DESC_OCTET_LENGTH nn SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0)
SQL_DESC_PRECISIONSQL_DESC_PRECISION nn SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0)
SQL_DESC_SCALESQL_DESC_SCALE 00 00
SQL_DESC_SEARCHABLESQL_DESC_SEARCHABLE SQL_PRED_NONESQL_PRED_NONE SQL_PRED_NONESQL_PRED_NONE
SQL_DESC_TYPESQL_DESC_TYPE SQL_SS_UDTSQL_SS_UDT SQL_SS_UDTSQL_SS_UDT
SQL_DESC_TYPE_NAMESQL_DESC_TYPE_NAME "udt""udt" "udt""udt"
SQL_DESC_UNSIGNEDSQL_DESC_UNSIGNED SQL_TRUESQL_TRUE SQL_TRUESQL_TRUE
SQL_CA_SS_UDT_CATALOG_NAMESQL_CA_SS_UDT_CATALOG_NAME Имя каталога, содержащего определяемый пользователем тип.The name of the catalog that contains the UDT. Имя каталога, содержащего определяемый пользователем тип.The name of the catalog that contains the UDT.
SQL_CA_SS_UDT_SCHEMA_NAMESQL_CA_SS_UDT_SCHEMA_NAME Имя схемы, содержащей определяемый пользователем тип.The name of the schema that contains the UDT. Имя схемы, содержащей определяемый пользователем тип.The name of the schema that contains the UDT.
SQL_CA_SS_UDT_TYPE_NAMESQL_CA_SS_UDT_TYPE_NAME Имя определяемого пользователем типа.The name of the UDT. Имя определяемого пользователем типа.The name of the UDT.
SQL_CA_SS_UDT_ASSEMBLY_TYPE_NAMESQL_CA_SS_UDT_ASSEMBLY_TYPE_NAME Полное имя определяемого пользователем типа.The fully-qualified name of the UDT. Полное имя определяемого пользователем типа.The fully-qualified name of the UDT.

Метаданные столбца, возвращаемые функциями SQLColumns и SQLProcedureColumns (метаданные каталога)Column Metadata Returned by SQLColumns and SQLProcedureColumns (Catalog Metadata)

Для определяемых пользователем типов возвращаются следующие значения столбца.The following column values are returned for UDTs:

Имя столбцаColumn name SQL_SS_UDTSQL_SS_UDT

(длина не более 8 000 байт)(length less than or equal to 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT

(длина более 8 000 байт)(length greater than 8,000 bytes)
DATA_TYPEDATA_TYPE SQL_SS_UDTSQL_SS_UDT SQL_SS_UDTSQL_SS_UDT
TYPE_NAMETYPE_NAME Имя определяемого пользователем типа.The name of the UDT. Имя определяемого пользователем типа.The name of the UDT.
COLUMN_SIZECOLUMN_SIZE nn SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0)
BUFFER_LENGTHBUFFER_LENGTH nn SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0)
DECIMAL_DIGITSDECIMAL_DIGITS NULLNULL NULLNULL
SQL_DATA_TYPESQL_DATA_TYPE SQL_SS_UDTSQL_SS_UDT SQL_SS_UDTSQL_SS_UDT
SQL_DATETIME_SUBSQL_DATETIME_SUB NULLNULL NULLNULL
CHAR_OCTET_LENGTHCHAR_OCTET_LENGTH nn SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0)
SS_UDT_CATALOG_NAMESS_UDT_CATALOG_NAME Имя каталога, содержащего определяемый пользователем тип.The name of the catalog that contains the UDT. Имя каталога, содержащего определяемый пользователем тип.The name of the catalog that contains the UDT.
SS_UDT_SCHEMA_NAMESS_UDT_SCHEMA_NAME Имя схемы, содержащей определяемый пользователем тип.The name of the schema that contains the UDT. Имя схемы, содержащей определяемый пользователем тип.The name of the schema that contains the UDT.
SS_UDT_ASSEMBLY_TYPE_NAMESS_UDT_ASSEMBLY_TYPE_NAME Полное имя определяемого пользователем типа.The fully-qualified name of the UDT. Полное имя определяемого пользователем типа.The fully-qualified name of the UDT.

Три последних столбца зависят от драйвера.The last three columns are driver-specific columns. Они добавляются после любых столбцов, определенных ODBC, но перед любыми существующими для каждого драйвера столбцами результирующего набора SQLColumns или SQLProcedureColumns.They are added after any ODBC-defined columns, but before any existing driver-specific columns of the result set of SQLColumns or SQLProcedureColumns.

SQLGetTypeInfo не возвращает ни одной строки для отдельных определяемых пользователем типов или для универсального типа "UDT".No rows are returned by SQLGetTypeInfo, for individual UDTs or for the generic type "udt".

Привязки и преобразованияBindings and Conversions

Поддерживаются следующие преобразования типов данных SQL в типы данных C.The supported conversions from SQL to C datatypes are as follows:

Прямое и обратное преобразование:Conversion to and from: SQL_SS_UDTSQL_SS_UDT
SQL_C_WCHARSQL_C_WCHAR ПоддерживаетсяSupported *
SQL_C_BINARYSQL_C_BINARY ПоддерживаетсяSupported
SQL_C_CHARSQL_C_CHAR ПоддерживаетсяSupported *

* Двоичные данные преобразуются в шестнадцатеричную строку.* Binary data is converted to a hex string.

Поддерживаются следующие преобразования типов данных C в типы данных SQL.The supported conversions from C to SQL datatypes are as follows:

Прямое и обратное преобразование:Conversion to and from: SQL_SS_UDTSQL_SS_UDT
SQL_C_WCHARSQL_C_WCHAR ПоддерживаетсяSupported *
SQL_C_BINARYSQL_C_BINARY ПоддерживаетсяSupported
SQL_C_CHARSQL_C_CHAR ПоддерживаетсяSupported *

* Выполняется преобразование шестнадцатеричной строки в двоичные данные.* Hex string to binary data conversion occurs.

Поддержка SQL_VARIANT для определяемых пользователем типовSQL_VARIANT Support for UDTs

Определяемые пользователем типы не поддерживаются в столбцах SQL_VARIANT.UDTs are not supported in SQL_VARIANT columns.

Поддержка программы bcp для определяемых пользователем типовBCP Support for UDTs

Значения определяемых пользователем типов можно импортировать или экспортировать только в виде символьных или двоичных значений.UDTs values can be imported and exported only as character or binary values.

Поведение клиента нижнего уровня для определяемых пользователем типовDownlevel Client Behavior for UDTs

Определяемые пользователем типы проходят сопоставление типов с клиентами низкого уровня, как показано далее.UDTs are subject to type mapping with down-level clients, as follows:

Версия сервераServer version SQL_SS_UDTSQL_SS_UDT

(длина не более 8 000 байт)(length less than or equal to 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT

(длина более 8 000 байт)(length greater than 8,000 bytes)
SQL Server 2005SQL Server 2005 UDTUDT varbinary(max)varbinary(max)
SQL Server 2008 и более поздние версииSQL Server 2008 and later UDTUDT UDTUDT

Функции ODBC, поддерживающие определяемые пользователем типы больших данных CLRODBC Functions Supporting Large CLR UDTs

В этом разделе обсуждаются изменения в функциях ODBC собственного клиента SQL Server, касающиеся поддержки определяемых пользователем типов больших данных CLR.This section discusses changes to SQL Server Native Client ODBC functions to support large CLR UDTs.

SQLBindColSQLBindCol

Значения столбцов результатов определяемого пользователем типа преобразуются из типов SQL в C, как описано в разделе "привязки и преобразования" ранее в этом разделе.UDT result column values are converted from SQL to C datatypes as described in the "Bindings and Conversions" section, earlier in this topic.

SQLBindParameterSQLBindParameter

Для определяемых пользователем типов необходимы следующие значения.The values required for UDTs are as follows:

Тип данных SQLSQL data type ParameterTypeParametertype колумнсизептрColumnSizePtr деЦималдигитсптрDecimalDigitsPtr
SQL_SS_UDTSQL_SS_UDT

(длина не более 8 000 байт)(length less than or equal to 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT nn 00
SQL_SS_UDTSQL_SS_UDT

(длина более 8 000 байт)(length greater than 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0) 00

SQLColAttributeSQLColAttribute

Значения, возвращаемые для определяемых пользователем типов, описаны в подразделе «Поля дескрипторов для результатов» ранее в этом разделе.The values returned for UDTs are as described in the "Descriptor Fields for Results" section, earlier in this topic.

SQLColumnsSQLColumns

Значения, возвращаемые для определяемых пользователем типов, описаны в подразделе «Метаданные столбца, возвращаемые функциями SQLColumns и SQLProcedureColumns (метаданные каталога)» ранее в этом разделе.The values returned for UDTs are as described in the "Column Metadata Returned by SQLColumns and SQLProcedureColumns (Catalog Metadata)" section, earlier in this topic.

SQLDescribeColSQLDescribeCol

Для определяемых пользователем типов возвращаются следующие значения.The values returned for UDTs are as follows:

Тип данных SQLSQL data type дататипептрDataTypePtr колумнсизептрColumnSizePtr деЦималдигитсптрDecimalDigitsPtr
SQL_SS_UDTSQL_SS_UDT

(длина не более 8 000 байт)(length less than or equal to 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT nn 00
SQL_SS_UDTSQL_SS_UDT

(длина более 8 000 байт)(length greater than 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0) 00

SQLDescribeParamSQLDescribeParam

Для определяемых пользователем типов возвращаются следующие значения.The values returned for UDTs are as follows:

Тип данных SQLSQL data type дататипептрDataTypePtr колумнсизептрColumnSizePtr деЦималдигитсптрDecimalDigitsPtr
SQL_SS_UDTSQL_SS_UDT

(длина не более 8 000 байт)(length less than or equal to 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT nn 00
SQL_SS_UDTSQL_SS_UDT

(длина более 8 000 байт)(length greater than 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0) 00

SQLFetchSQLFetch

Значения столбцов результатов определяемого пользователем типа преобразуются из типов SQL в C, как описано в разделе "привязки и преобразования" ранее в этом разделе.UDT result column values are converted from SQL to C datatypes as described in the "Bindings and Conversions" section, earlier in this topic.

SQLFetchScrollSQLFetchScroll

Значения столбцов результатов определяемого пользователем типа преобразуются из типов SQL в C, как описано в разделе "привязки и преобразования" ранее в этом разделе.UDT result column values are converted from SQL to C datatypes as described in the "Bindings and Conversions" section, earlier in this topic.

SQLGetDataSQLGetData

Значения столбцов результатов определяемого пользователем типа преобразуются из типов SQL в C, как описано в разделе "привязки и преобразования" ранее в этом разделе.UDT result column values are converted from SQL to C datatypes as described in the "Bindings and Conversions" section, earlier in this topic.

SQLGetDescFieldSQLGetDescField

Поля дескрипторов, доступные с новыми типами, описаны в подразделах «Поля дескрипторов для параметров» и «Поля дескрипторов для результатов» ранее в этом разделе.Descriptor fields available with the new types are described in the "Descriptor Fields for Parameters" and "Descriptor Fields for Results" sections, earlier in this topic.

SQLGetDescRecSQLGetDescRec

Для определяемых пользователем типов возвращаются следующие значения.The values returned for UDTs are as follows:

Тип данных SQLSQL data type ТипType ПодтипSubType ДлинаLength ТочностьPrecision МасштабированиеScale
SQL_SS_UDTSQL_SS_UDT

(длина не более 8 000 байт)(length less than or equal to 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT 00 nn nn 00
SQL_SS_UDTSQL_SS_UDT

(длина более 8 000 байт)(length greater than 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT 00 SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0) SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0) 00

SQLGetTypeInfoSQLGetTypeInfo

Значения, возвращаемые для определяемых пользователем типов, описаны в подразделе «Метаданные, возвращаемые функциями SQLColumns и SQLProcedureColumns (метаданные каталога)» ранее в этом разделе.The values returned for UDTs are as described in the "Metadata Returned by SQLColumns and SQLProcedureColumns (Catalog Metadata)" section, earlier in this topic.

SQLProcedureColumnsSQLProcedureColumns

Значения, возвращаемые для определяемых пользователем типов, описаны в подразделе «Метаданные, возвращаемые функциями SQLColumns и SQLProcedureColumns (метаданные каталога)» ранее в этом разделе.The values returned for UDTs are as described in the "Metadata Returned by SQLColumns and SQLProcedureColumns (Catalog Metadata)" section, earlier in this topic.

SQLPutDataSQLPutData

Значения параметров определяемого пользователем типа преобразуются из C в типы SQL, как описано в разделе "привязки и преобразования" ранее в этом разделе.UDT parameter values are converted from C to SQL datatypes as described in the "Bindings and Conversions" section, earlier in this topic.

SQLSetDescFieldSQLSetDescField

Поля дескрипторов, доступные с новыми типами, описаны в подразделах «Поля дескрипторов для параметров» и «Поля дескрипторов для результатов» ранее в этом разделе.Descriptor field available with the new types are described in the "Descriptor Fields for Parameters" and "Descriptor Fields for Results" sections, earlier in this topic.

SQLSetDescRecSQLSetDescRec

Для определяемых пользователем типов разрешены следующие значения.The values allowed for UDTs are as follows:

Тип данных SQLSQL data type ТипType ПодтипSubType ДлинаLength ТочностьPrecision МасштабированиеScale
SQL_SS_UDTSQL_SS_UDT

(длина не более 8 000 байт)(length less than or equal to 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT 00 nn nn 00
SQL_SS_UDTSQL_SS_UDT

(длина более 8 000 байт)(length greater than 8,000 bytes)
SQL_SS_UDTSQL_SS_UDT 00 SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0) SQL_SS_LENGTH_UNLIMITED (0)SQL_SS_LENGTH_UNLIMITED (0) 00

SQLSpecialColumnsSQLSpecialColumns

Значения, возвращаемые для столбцов DATA_TYPE, TYPE_NAME, COLUMN_SIZE, BUFFER_LENGTH и DECIMAL_DIGTS определяемых пользователем типов, описаны в подразделе «Метаданные, возвращаемые функциями SQLColumns и SQLProcedureColumns (метаданные каталога)» ранее в этом разделе.The values returned for the columns DATA_TYPE, TYPE_NAME, COLUMN_SIZE, BUFFER_LENGTH, and DECIMAL_DIGTS UDTs are as described in the "Metadata Returned by SQLColumns and SQLProcedureColumns (Catalog Metadata)" section, earlier in this topic.

См. также:See Also

Большие определяемые пользователем типы данных CLRLarge CLR User-Defined Types