Compartilhar via


SQLSetDescRec

Este tópico aborda a funcionalidade SQLSetDescRec que é específica do SQL Server Native Client.

SQLSetDescRec e parâmetros com valor de tabela

SQLSetDescRec pode ser usado para definir campos de descritor para parâmetros com valor de tabela e colunas de parâmetro com valor de tabela. As colunas do parâmetro com valor de tabela ficam disponíveis somente quando o campo do cabeçalho do descritor SQL_SOPT_SS_PARAM_FOCUS é definido como o ordinal de um registro que tenha SQL_DESC_TYPE definido como SQL_SS_TABLE. Para obter mais informações sobre SQL_SPOT_SS_PARAM_FOCUS, consulte SQLSetStmtAttr.

A seguinte tabela descreve o mapeamento entre parâmetros e campos de descritor.

Parâmetro

Atributo relacionado a tipos de parâmetros sem valor de tabela, inclusive colunas de parâmetros com valor de tabela

Atributo relacionado para parâmetros com valor de tabela

Type

SQL_DESC_TYPE

SQL_SS_TABLE

SubType

Ignored

Para registros de tipo SQL_DATETIME ou SQL_INTERVAL, defina como SQL_DESC_DATETIME_INTERVAL_CODE.

Length

SQL_DESC_OCTET_LENGTH

O comprimento do nome do tipo de parâmetro com valor de tabela. Isso poderá ser SQL_NTS se o nome do tipo terminar com caractere nulo ou zero se o nome do tipo de parâmetro com valor de tabela não for necessário.

Precision

SQL_DESC_PRECISION

SQL_DESC_ARRAY_SIZE

Scale

SQL_DESC_SCALE

Não utilizado. O parâmetro deve ser zero.

DataPtr

SQL_DESC_DATA_PTR em APD

SQL_CA_SS_TYPE_NAME

O parâmetro é opcional para chamadas de procedimento armazenado e NULL poderá ser especificado se ele não for necessário. Esse parâmetro deve ser especificado para instruções SQL que não sejam chamadas de procedimento.

DataPtr também funciona como um valor exclusivo que o aplicativo poderá usar para identificar esse parâmetro com valor de tabela quando a associação de linha variável for usada.

StringLengthPtr

SQL_DESC_OCTET_LENGTH_PTR

SQL_DESC_OCTET_LENGTH_PTR

Para um parâmetro com valor de tabela, trata-se do número de linhas de transferência ou SQL_DATA_AT_EXEC. Esse é um ponteiro para um valor que mantém o número de linhas a serem transferidas com SQLExecDirect.

IndicatorPtr

SQL_DESC_INDICATOR_PTR

SQL_DESC_INDICATOR_PTR

Para obter mais informações sobre parâmetros com valor de tabela, consulte Parâmetros com valor de tabela (ODBC).

Suporte de SQLSetDescRec a recursos aprimorados de data e hora

Os valores permitidos para tipos de data/hora são os seguintes:

Type

SubType

Length

Precision

Scale

datetime

SQL_DATETIME

SQL_CODE_TIMESTAMP

4

3

3

smalldatetime

SQL_SQL_DATETIME

SQL_CODE_TIMESTAMP

8

0

0

date

SQL_DATETIME

SQL_CODE_DATE

6

0

0

time

SQL_SS_TIME2

0

10

0..7

0..7

datetime2

SQL_DATETIME

SQL_CODE_TIMESTAMP

16

0..7

0..7

datetimeoffset

SQL_SS_TIMESTAMPOFFSET

0

20

0..7

0..7

Para obter mais informações, consulte Aprimoramentos de data/hora (ODBC).

Suporte de SQLSetDescRec para UDTs CLR grandes

SQLSetDescRec oferece suporte a tipos de dados CLR grandes definidos pelo usuário. Para obter mais informações, consulte Tipos de dados CLR grandes definidos pelo usuário (ODBC).

Consulte também

Conceitos

Outros recursos