Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico discute a funcionalidade SQLSetDescRec específica do SQL Server Native Client.
Parâmetros SQLSetDescRec e Table-Valued
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_SOPT_SS_PARAM_FOCUS, consulte SQLSetStmtAttr.
A tabela a seguir descreve o mapeamento entre parâmetros e campos de descritor.
| Parâmetro | Atributo relacionado para tipos de parâmetro sem valor de tabela, incluindo colunas de parâmetro com valor de tabela | Atributo relacionado para parâmetros com valor de tabela |
|---|---|---|
| Tipo | SQL_DESC_TYPE | SQL_SS_TABLE |
| Subtipo | Ignorado | Para registros do tipo SQL_DATETIME ou SQL_INTERVAL, defina-o como SQL_DESC_DATETIME_INTERVAL_CODE. |
| comprimento | SQL_DESC_OCTET_LENGTH | O comprimento do nome do tipo de parâmetro com valor de tabela. Isso pode ser SQL_NTS se o nome do tipo for encerrado nulo ou zero se o nome do tipo de parâmetro com valor de tabela não for necessário. |
| Precisão | SQL_DESC_PRECISION | SQL_DESC_ARRAY_SIZE |
| Escala | SQL_DESC_SCALE | Utilizadas. Esse parâmetro deve ser zero. |
| |
SQL_DESC_DATA_PTR no APD | SQL_CA_SS_TYPE_NAME Esse parâmetro é opcional para chamadas de procedimento armazenado e NULL pode ser especificado se não for necessário. Esse parâmetro deve ser especificado para instruções SQL que não são chamadas de procedimento. DataPtr também serve como um valor exclusivo que o aplicativo pode usar para identificar esse parâmetro com valor de tabela quando a associação de linha variável é usada. |
| StringLengthPtr | SQL_DESC_OCTET_LENGTH_PTR | SQL_DESC_OCTET_LENGTH_PTR Para um parâmetro com valor de tabela, esse é o número de linhas a serem transferidas ou SQL_DATA_AT_EXEC. Esse é um ponteiro para um valor que contém o número de linhas a serem transferidas com SQLExecDirect. |
| |
SQL_DESC_INDICATOR_PTR | SQL_DESC_INDICATOR_PTR |
Para obter mais informações sobre parâmetros com valor de tabela, consulte ODBC (Parâmetros com valor de tabela).
Suporte do SQLSetDescRec para recursos avançados de data e hora
Os valores permitidos para tipos de data/hora são os seguintes:
| Tipo | Subtipo | comprimento | Precisão | Escala | |
|---|---|---|---|---|---|
| Data e hora | SQL_DATETIME | SQL_CODE_TIMESTAMP | 4 | 3 | 3 |
| smalldatetime | SQL_SQL_DATETIME | SQL_CODE_TIMESTAMP | oito | 0 | 0 |
| data | SQL_DATETIME | SQL_CODE_DATE | 6 | 0 | 0 |
| Hora | 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 Melhorias de data e hora (ODBC).
Suporte a SQLSetDescRec para UDTs CLR grandes
SQLSetDescRec dá suporte a UDTs (tipos definidos pelo usuário) CLR grandes. Para obter mais informações, consulte ODBC (Tipos Definidos pelo Usuário) CLR Grandes.