Structure SSVARIANT dans SQL Server Native Client
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
La structure SSVARIANT, qui est définie dans sqlncli.h, correspond à une valeur DBTYPE_SQLVARIANT dans le fournisseur OLEDB SQL Server Native Client.
SSVARIANT est une union de discrimination. En fonction de la valeur du membre vt, le consommateur peut identifier le membre à lire. Les valeurs de vt correspondent aux types de données SQL Server. Ainsi, la structure SSVARIANT peut contenir n’importe quel type SQL Server. Pour plus d’informations sur la structure de données pour les types OLE DB standard, consultez Indicateurs de type.
Notes
Quand DataTypeCompat==80, plusieurs sous-types SSVARIANT deviennent des chaînes. Par exemple, les valeurs de vt suivantes apparaissent dans SSVARIANT en tant que VT_SS_WVARSTRING :
VT_SS_DATETIMEOFFSET
VT_SS_DATETIME2
VT_SS_TIME2
VT_SS_DATE
Lorsque DateTypeCompat == 0, ces types s'affichent sous leur forme native.
Pour plus d’informations sur SSPROP_INIT_DATATYPECOMPATIBILITY, consultez Utilisation de mots clés de chaîne de connexion avec SQL Server Native Client.
Le fichier sqlncli.h contient des macros d’accès de variantes qui simplifient le déréférencement des types de membres dans la structure SSVARIANT . Un exemple est V_SS_DATETIMEOFFSET, que vous pouvez utiliser comme suit :
memcpy(&V_SS_DATETIMEOFFSET(pssVar).tsoDateTimeOffsetVal, pDTO, cbNative);
V_SS_DATETIMEOFFSET(pssVar).bScale = bScale;
Pour obtenir l’ensemble complet des macros d’accès pour chaque membre de la structure SSVARIANT , reportez-vous au fichier sqlncli.hi.
Le tableau suivant décrit les membres de la structure SSVARIANT :
Membre | Indicateur de type OLE DB | Type de données OLE DB C | Valeur vt | Commentaires |
---|---|---|---|---|
vt | SSVARTYPE | Spécifie le type de valeur contenu dans la structure SSVARIANT. | ||
bTinyIntVal | DBTYPE_UI1 | BYTE | VT_SS_UI1 | Prend en charge le type de données tinyintSQL Server. |
sShortIntVal | DBTYPE_I2 | SHORT | VT_SS_I2 | Prend en charge le type de données smallintSQL Server. |
lIntVal | DBTYPE_I4 | LONG | VT_SS_I4 | Prend en charge le type de données intSQL Server. |
llBigIntVal | DBTYPE_I8 | LARGE_INTEGER | VT_SS_I8 | Prend en charge le type de données bigintSQL Server. |
fltRealVal | DBTYPE_R4 | float | VT_SS_R4 | Prend en charge le type de données realSQL Server. |
dblFloatVal | DBTYPE_R8 | double | VT_SS_R8 | Prend en charge le type de données floatSQL Server. |
cyMoneyVal | DBTYPE_CY | LARGE_INTEGER | VT_SS_MONEY VT_SS_SMALLMONEY | Prend en charge les types de données money et smallmoneySQL Server. |
fBitVal | DBTYPE_BOOL | VARIANT_BOOL | VT_SS_BIT | Prend en charge le type de données bitSQL Server. |
rgbGuidVal | DBTYPE_GUID | GUID | VT_SS_GUID | Prend en charge le type de données uniqueidentifierSQL Server. |
numNumericVal | DBTYPE_NUMERIC | DB_NUMERIC | VT_SS_NUMERIC | Prend en charge le type de données numericSQL Server. |
dDateVal | DBTYPE_DATE | DBDATE | VT_SS_DATE | Prend en charge le type de données dateSQL Server. |
tsDateTimeVal | DBTYPE_DBTIMESTAMP | DBTIMESTAMP | VT_SS_SMALLDATETIME VT_SS_DATETIME VT_SS_DATETIME2 | Prend en charge les types de données smalldatetime, datetime et datetime2SQL Server. |
Time2Val | DBTYPE_DBTIME2 | DBTIME2 | VT_SS_TIME2 | Prend en charge le type de données timeSQL Server. Inclut les membres suivants : tTime2Val (DBTIME2) bScale (BYTE) Spécifie l’échelle pour la valeur tTime2Val. |
DateTimeVal | DBTYPE_DBTIMESTAMP | DBTIMESTAMP | VT_SS_DATETIME2 | Prend en charge le type de données datetime2SQL Server. Inclut les membres suivants : tsDataTimeVal (DBTIMESTAMP) bScale (BYTE) Spécifie l’échelle pour la valeur tsDataTimeVal. |
DateTimeOffsetVal | DBTYPE_DBTIMESTAMPOFSET | DBTIMESTAMPOFFSET | VT_SS_DATETIMEOFFSET | Prend en charge le type de données datetimeoffsetSQL Server. Inclut les membres suivants : tsoDateTimeOffsetVal (DBTIMESTAMPOFFSET) bScale (BYTE) Spécifie l’échelle pour la valeur tsoDateTimeOffsetVal. |
NCharVal | Aucun indicateur de type OLE DB correspondant. | struct _NCharVal | VT_SS_WVARSTRING, VT_SS_WSTRING |
Prend en charge les types de données nchar et nvarcharSQL Server. Inclut les membres suivants : sActualLength (SHORT) Spécifie la longueur réelle de la chaîne vers laquelle pwchNCharVal pointe. N'inclut pas le zéro de fin. sMaxLength (SHORT) Spécifie la longueur maximale de la chaîne vers laquelle pwchNCharVal pointe. pwchNCharVal (WCHAR *) Pointeur sur la chaîne. Membres inutilisés : rgbReserved, dwReserved et pwchReserved. |
CharVal | Aucun indicateur de type OLE DB correspondant. | struct _CharVal | VT_SS_STRING, VT_SS_VARSTRING |
Prend en charge les types de données char et varcharSQL Server. Inclut les membres suivants : sActualLength (SHORT) Spécifie la longueur réelle de la chaîne vers laquelle pchCharVal pointe. N'inclut pas le zéro de fin. sMaxLength (SHORT) Spécifie la longueur maximale de la chaîne vers laquelle pchCharVal pointe. pchCharVal (CHAR *) Pointeur sur la chaîne. Membres non utilisés : rgbReserved, dwReserved et pwchReserved. |
BinaryVal | Aucun indicateur de type OLE DB correspondant. | struct _BinaryVal | VT_SS_VARBINARY, VT_SS_BINARY |
Prend en charge les types de données binary et varbinarySQL Server. Inclut les membres suivants : sActualLength (SHORT) Spécifie la longueur réelle des données vers lesquelles prgbBinaryVal pointe. sMaxLength (SHORT) Spécifie la longueur maximale des données vers lesquelles prgbBinaryVal pointe. prgbBinaryVal (BYTE *) Pointeur sur les données binaires. Membre inutilisé : dwReserved. |
UnknownType | UNUSED | UNUSED | UNUSED | UNUSED |
BLOBType | UNUSED | UNUSED | UNUSED | UNUSED |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour