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.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
A estrutura SSVARIANT , que é definida em sqlncli.h, corresponde a um valor DBTYPE_SQLVARIANT no provedor OLEDB do SQL Server Native Client.
SSVARIANT é uma união distinta. Dependendo do valor do membro vt, o consumidor pode determinar qual membro deve ser lido. Os valores vt correspondem aos tipos de dados do SQL Server. Portanto, a estrutura SSVARIANT pode manter qualquer tipo do SQL Server. Para obter mais informações sobre a estrutura de dados para tipos OLE DB padrão, confira Indicadores de tipo.
Comentários
Quando DataTypeCompat==80, vários subtipos SSVARIANT se tornam cadeias de caracteres. Por exemplo, os seguintes valores vt serão exibidos em SSVARIANT como VT_SS_WVARSTRING:
VT_SS_DATETIMEOFFSET
VT_SS_DATETIME2
VT_SS_TIME2
VT_SS_DATE
Quando DateTypeCompat == 0, estes tipos aparecerão no seu formulário nativo.
Para obter mais informações sobre SSPROP_INIT_DATATYPECOMPATIBILITY, consulte Usando palavras-chave de cadeia de conexão com SQL Server Native Client.
O arquivo sqlncli.h contém macros de acesso variante que simplificam a desreferenciação dos tipos de membro na estrutura SSVARIANT . Um exemplo é V_SS_DATETIMEOFFSET que você pode usar da seguinte maneira:
memcpy(&V_SS_DATETIMEOFFSET(pssVar).tsoDateTimeOffsetVal, pDTO, cbNative);
V_SS_DATETIMEOFFSET(pssVar).bScale = bScale;
Para obter o conjunto completo de macros de acesso para cada membro da estrutura SSVARIANT , consulte o arquivo sqlncli.hi.
A seguinte tabela descreve os membros da estrutura SSVARIANT:
| Membro | Indicador de tipo OLE DB | Tipo de dados OLE DB C | valor vt | Comentários |
|---|---|---|---|---|
| vt | SSVARTYPE | Especifica o tipo de valor contido no struct SSVARIANT. | ||
| bTinyIntVal | DBTYPE_UI1 | BYTE | VT_SS_UI1 | Dá suporte ao tipo de dados tinyintSQL Server. |
| sShortIntVal | DBTYPE_I2 | SHORT | VT_SS_I2 | Dá suporte ao tipo de dados smallintSQL Server. |
| lIntVal | DBTYPE_I4 | LONG | VT_SS_I4 | Dá suporte ao tipo de dados intSQL Server. |
| llBigIntVal | DBTYPE_I8 | LARGE_INTEGER | VT_SS_I8 | Dá suporte ao tipo de dados bigintSQL Server. |
| fltRealVal | DBTYPE_R4 | float | VT_SS_R4 | Dá suporte ao tipo de dados realSQL Server. |
| dblFloatVal | DBTYPE_R8 | double | VT_SS_R8 | Dá suporte ao tipo de dados floatSQL Server. |
| cyMoneyVal | DBTYPE_CY | LARGE_INTEGER | VT_SS_MONEY VT_SS_SMALLMONEY | Dá suporte aos tipos de dados money e smallmoneySQL Server. |
| fBitVal | DBTYPE_BOOL | VARIANT_BOOL | VT_SS_BIT | Dá suporte ao tipo de dados bitSQL Server. |
| rgbGuidVal | DBTYPE_GUID | GUID | VT_SS_GUID | Dá suporte ao tipo de dados uniqueidentifierSQL Server. |
| numNumericVal | DBTYPE_NUMERIC | DB_NUMERIC | VT_SS_NUMERIC | Dá suporte ao tipo de dados numericSQL Server. |
| dDateVal | DBTYPE_DATE | DBDATE | VT_SS_DATE | Dá suporte ao tipo de dados dateSQL Server. |
| tsDateTimeVal | DBTYPE_DBTIMESTAMP | DBTIMESTAMP | VT_SS_SMALLDATETIME VT_SS_DATETIME VT_SS_DATETIME2 | Dá suporte aos tipos de dados smalldatetime, datetime e datetime2SQL Server. |
| Time2Val | DBTYPE_DBTIME2 | DBTIME2 | VT_SS_TIME2 | Dá suporte ao tipo de dados timeSQL Server. Inclui os seguintes membros: tTime2Val (DBTIME2) bScale (BYTE) Especifica a escala para o valor tTime2Val. |
| DateTimeVal | DBTYPE_DBTIMESTAMP | DBTIMESTAMP | VT_SS_DATETIME2 | Dá suporte ao tipo de dados datetime2SQL Server. Inclui os seguintes membros: tsDateTimeVal (DBTIMESTAMP) bScale (BYTE) especifica a escala para valor de tsDateTimeVal. |
| DateTimeOffsetVal | DBTYPE_DBTIMESTAMPOFFSET | DBTIMESTAMPOFFSET | VT_SS_DATETIMEOFFSET | Dá suporte ao tipo de dados datetimeoffsetSQL Server. Inclui os seguintes membros: tsoDateTimeOffsetVal (DBTIMESTAMPOFFSET) bScale (BYTE) Especifica a escala para o valor tsoDateTimeOffsetVal. |
| NCharVal | Não existe um indicador de tipo OLE DB correspondente. | struct _NCharVal |
VT_SS_WVARSTRING, VT_SS_WSTRING |
Dá suporte aos tipos de dados nchar e nvarcharSQL Server. Inclui os seguintes membros: sActualLength (SHORT) especifica o comprimento real da cadeia de caracteres para a qual pwchNCharVal aponta. Não inclui o zero final. sMaxLength (SHORT) especifica o comprimento máximo da cadeia de caracteres para a qual pwchNCharVal aponta. pwchNCharVal (WCHAR *) Ponteiro para a cadeia de caracteres. Membros não usados: rgbReserved, dwReserved e pwchReserved. |
| CharVal | Não existe um indicador de tipo OLE DB correspondente. | struct _CharVal |
VT_SS_STRING, VT_SS_VARSTRING |
Dá suporte aos tipos de dados char e varcharSQL Server. Inclui os seguintes membros: sActualLength (SHORT) especifica o comprimento real da cadeia de caracteres para a qual pchCharVal aponta. Não inclui o zero final. sMaxLength (SHORT) especifica o comprimento máximo da cadeia de caracteres para a qual pchCharVal aponta. pchCharVal (CHAR *) Ponteiro para a cadeia de caracteres. Membros não usados: rgbReserved, dwReserved e pwchReserved. |
| BinaryVal | Não existe um indicador de tipo OLE DB correspondente. | struct _BinaryVal |
VT_SS_VARBINARY, VT_SS_BINARY |
Dá suporte aos tipos de dados binary e varbinarySQL Server. Inclui os seguintes membros: sActualLength (SHORT) especifica o comprimento real dos dados para os quais prgbBinaryVal aponta. sMaxLength (SHORT) especifica o comprimento máximo dos dados para os quais prgbBinaryVal aponta. prgbBinaryVal (BYTE *) Ponteiro para os dados binários. Membro não usado: dwReserved. |
| UnknownType | UNUSED | UNUSED | UNUSED | UNUSED |
| BLOBType | UNUSED | UNUSED | UNUSED | UNUSED |