Condividi tramite


Set di righe di data e ora e schema

In questo argomento vengono fornite informazioni sui set di righe COLUMNS e PROCEDURE_PARAMETERS. Queste informazioni sono correlate ai miglioramenti di data e ora di OLE DB introdotti in SQL Server 2008.

Set di righe COLUMNS

Per i tipi di data/ora vengono restituiti i valori di colonna seguenti:

Tipo di colonna tipo di dati COLUMN_FLAGS, DBCOLUMFLAGS_SS_ISVARIABLESCALE DATETIME_PRECISION
dattero DBTYPE_DBDATE Chiaro 0
tempo DBTYPE_DBTIME2 Impostare 0..7
smalldatetime DBTYPE_DBTIMESTAMP Chiaro 0
data e ora DBTYPE_DBTIMESTAMP Chiaro 3
datetime2 DBTYPE_DBTIMESTAMP Impostare 0..7
datetimeoffset DBTYPE_DBTIMESTAMPOFFSET Impostare 0..7

In COLUMN_FLAGS il valore di DBCOLUMNFLAGS_ISFIXEDLENGTH è sempre true per i tipi date/time e il valore dei flag seguenti è sempre false:

  • DBCOLUMNFLAGS_CACHEDEFERRED

  • DBCOLUMNFLAGS_ISBOOKMARK

  • DBCOLUMNFLAGS_ISCHAPTER

  • DBCOLUMNFLAGS_ISLONG

  • DBCOLUMNFLAGS_ISROWID

  • DBCOLUMNFLAGS_ISROWVER

  • DBCOLUMNFLAGS_MAYDEFER

I flag restanti (DBCOLUMNFLAGS_ISNULLABLE, DBCOLUMNFLAGS_MAYBENULL, DBCOLUMNFLAGS_WRITE e DBCOLUMNFLAGS_WRITEUNKNOWN) possono essere impostati in base alla modalità di definizione della colonna.

In COLUMN_FLAGS è disponibile un nuovo flag DBCOLUMNFLAGS_SS_ISVARIABLESCALE che consente di determinare il tipo di server delle colonne nelle applicazioni, dove DATA_TYPE è DBTYPE_DBTIMESTAMP. Per identificare il tipo di server è necessario utilizzare anche DATETIME_PRECISION.

DBCOLUMNFLAGS_SS_ISVARIABLESCALE è valido solo quando si è connessi a un server SQL Server 2008 o versione successiva. DBCOLUMNFLAGS_SS_ISFIXEDSCALE non è definito quando si è connessi a server legacy.

Set di righe PROCEDURE_PARAMETERS

DATA_TYPE contiene gli stessi valori del set di righe dello schema COLUMNS e TYPE_NAME contiene il tipo di server.

Una nuova colonna, SS_DATETIME_PRECISION, è stata aggiunta per restituire la precisione del tipo come nella colonna DATETIME_PRECISION, in modo analogo al set di righe COLUMNS.

Set di righe PROVIDER_TYPES

Per i tipi di data/ora vengono restituite le righe seguenti:

Tipo ->

colonna
dattero tempo smalldatetime data e ora datetime2 datetimeoffset
TYPE_NAME dattero tempo smalldatetime data e ora datetime2 datetimeoffset
tipo di dati DBTYPE_DBDATE DBTYPE_DBTIME2 DBTYPE_DBTIMESTAMP DBTYPE_DBTIMESTAMP DBTYPE_DBTIMESTAMP DBTYPE_DBTIMESTAMPOFFSET
COLUMN_SIZE 10 16 16 23 27 34
LITERAL_PREFIX ' ' ' ' ' '
LITERAL_SUFFIX ' ' ' ' ' '
CREATE_PARAMS NULLO scala NULLO NULLO scala scala
IS_NULLABLE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE
CASE_SENSITIVE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE
RICERCABILE DB_SEARCHABLE DB_SEARCHABLE DB_SEARCHABLE DB_SEARCHABLE DB_SEARCHABLE DB_SEARCHABLE
UNSIGNED_ATTRIBUTE NULLO NULLO NULLO NULLO NULLO NULLO
FIXED_PREC_SCALE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE
AUTO_UNIQUE_VALUE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE
LOCAL_TYPE_NAME dattero tempo smalldatetime data e ora datetime2 datetimeoffset
MINIMUM_SCALE NULLO 0 NULLO NULLO 0 0
MAXIMUM_SCALE NULLO 7 NULLO NULLO 7 7
Identificatore Unico Globale (GUID) NULLO NULLO NULLO NULLO NULLO NULLO
TYPELIB NULLO NULLO NULLO NULLO NULLO NULLO
VERSIONE NULLO NULLO NULLO NULLO NULLO NULLO
IS_LONG VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE VARIANT_FALSE
BEST_MATCH VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE a meno che non si verifichi una delle condizioni seguenti:

- Il client è connesso a un server di livello inferiore.
- La proprietà di connessione di compatibilità del tipo di dati specifica un livello di compatibilità uguale a 80.
VARIANT_TRUE a meno che non si verifichi una delle condizioni seguenti:

- Il client è connesso a un server di livello inferiore.
- La proprietà di connessione di compatibilità del tipo di dati specifica un livello di compatibilità uguale a 80.
VARIANT_TRUE
IS_FIXEDLENGTH VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE VARIANT_TRUE

OLE DB definisce solo MINIMUM_SCALE e MAXIMUM_SCALE per i tipi numerici e decimali, pertanto sql Server Native Client usa queste colonne per ora, datetime2 e datetimeoffset non standard.

Vedere anche

metadati [OLE DB]