Condividi tramite


Provider di dati per DB2

Compatibilità della piattaforma

Conversioni della tabella codici

Il provider di dati supporta una combinazione di set di caratteri a byte singolo (SBCS), set di caratteri a byte misti (MBCS) set di caratteri a byte doppio (DBCS) e Unicode - UTF8 [1208], ovvero un formato di trasformazione Unicode a 8 bit.

Host CCSID

Il provider di dati richiede un valore per Host CCSID (Identificatore set di caratteri codificati) con cui eseguire conversioni della tabella codici sui dati stringa. Il valore CCSID host predefinito è EBCDIC - U.S./Canada [37]. In genere, i server di database IBM DB2 per z/OS e IBM i usano EBCDIC (Codice interscambio decimale codificato binario esteso).

Tabella codici PC

Il provider di dati richiede un valore per la tabella codici del PC con cui eseguire conversioni della tabella codici sui dati stringa. La tabella codici PC predefinita è ANSI - Latino I [1252]. In genere, i consumer di dati usano ANSI (American National Standards Institute) o Unicode.

Processo binario come carattere

I provider di dati per DB2 converte automaticamente in e da tipi di dati binari (CCSID 65535) e stringa di caratteri, in base al tipo di dati DB2 e al tipo di dati consumer Windows. La codifica DB2 è determinata dal CCSID host. La codifica di Windows è determinata dalla tabella codici del PC.

Mapping dei tipi di dati

In questo argomento vengono descritti tutti i mapping dei tipi di dati ai tipi di dati OLE DB.

Mapping dei tipi di dati da DB2 a ADO.NET

Nella tabella seguente vengono descritti i mapping dei tipi di dati DB2 ai tipi di dati ADO.NET Provider for DB2 (MsDb2Client) (MsDb2Type).

MsDb2Type Tipo di dati DB2 Descrizione
BigInt Bigint Un numero intero grande è un intero binario a 8 byte.
Binario Binario Un file binario è una stringa binaria a lunghezza fissa.
Pezzo Smallint Un numero intero piccolo è un intero binario a due byte.
BLOB BLOB Un oggetto binario di grandi dimensioni è una stringa di lunghezza variabile usata per archiviare dati non testuali o binari.
Char Char Un carattere è una stringa SBCS o MBCS a lunghezza fissa.
CLOB CLOB Un oggetto grande carattere di lunghezza variabile è una stringa di lunghezza variabile. La lunghezza massima della stringa dipende dalla piattaforma e dalla versione DB2.
Date Date Una data è una stringa a 10 byte.
DBCLOB DCLOB Un oggetto grande carattere a byte doppio di lunghezza variabile è una stringa a byte doppio a lunghezza variabile. La lunghezza massima della stringa dipende dalla piattaforma e dalla versione DB2.
Decimale Decimale Un decimale è un numero decimale compresso.
Double Double Un valore double è un numero a virgola mobile a precisione doppia a 8 byte.
Grafico Grafico Un elemento grafico è una stringa solo DBCS a lunghezza fissa.
Intero Integer Un numero intero è un intero binario a 4 byte.
Numerico Numerico Un valore numerico è un numero decimale compresso.
Reale Reale Un vero è un numero a virgola mobile a precisione singola a 4 byte.
SmallInt Smallint Un numero intero piccolo è un intero binario a due byte.
Tempo Tempo Un'ora è una stringa temporale a 8 byte.
Marca temporale: Marca temporale: Un timestamp è una stringa a 26 byte che rappresenta la data, l'ora e i microsecondi.
TinyInt Smallint Un numero intero piccolo è un intero binario a due byte.
VarBinary Varbinary Un file binario variabile è una stringa binaria di lunghezza variabile.
VarChar (campo di testo a lunghezza variabile) Varchar Un carattere variabile è una stringa di caratteri SBCS o MBCS di lunghezza variabile.
VarGraphic Vargraphic Un elemento grafico variabile è una stringa dbCS di lunghezza variabile.
VarWideChar Vargraphic Un elemento grafico variabile è una stringa Unicode a lunghezza variabile.
VarWideGraphic Vargraphic Un elemento grafico variabile è una stringa Unicode a lunghezza variabile.
WideChar Grafico Un elemento grafico è una stringa Unicode a lunghezza fissa.
XML XML Stringa di documento XML ben formata.

Mapping dei tipi di dati da DB2 a OLE DB

Nella tabella seguente vengono descritti i mapping dei tipi di dati DB2 ai tipi di dati OLE DB.

Tipo di dati OLE DB Tipo di dati DB2 Descrizione
DBTYPE_I8 Bigint Un numero intero grande è un intero binario a 8 byte.
DBTYPE_Bytes BINARY Un file binario è una stringa binaria a lunghezza fissa
DBTYPE_Bytes BLOB Un oggetto binario di grandi dimensioni è una stringa di lunghezza variabile usata per archiviare dati non testuali o binari.
DBTYPE_STR Char Un carattere è una stringa SBCS o MBCS a lunghezza fissa.
DBTYPE_WSTR Char Un carattere Unicode è una stringa MBCS a lunghezza fissa.
DBTYPE_STR CLOB Un oggetto grande carattere di lunghezza variabile è una stringa di lunghezza variabile. La lunghezza massima della stringa dipende dalla piattaforma e dalla versione DB2.
DBTYPE_DBDate Date Una data è una stringa a 10 byte.
Dbtype_decimal Decimale Un decimale è un numero decimale compresso.
DBTYPE_R8 Double Un valore double è un numero a virgola mobile a precisione doppia a 8 byte.
DBTYPE_R8 Galleggiare Un float è un numero a virgola mobile a precisione doppia a 8 byte.
DBTYPE_WSTR Grafico Un elemento grafico è una stringa solo DBCS a lunghezza fissa.
DBTYPE_I4 Integer Un numero intero è un intero binario a 4 byte.
DBTYPE_STR Long Varchar Un carattere variabile è una stringa di caratteri SBCS o MBCS di lunghezza variabile.
DBTYPE_WSTR Long Varchar Stringa Unicode di lunghezza variabile.
DBTYPE_WSTR Long Vargraphic Un elemento grafico variabile è una stringa dbCS di lunghezza variabile.
DBTYPE_Numeric Numerico Un valore numerico è un numero decimale compresso.
DBTYPE_I2 Smallint Un numero intero piccolo è un intero binario a due byte.
DBTYPE_R4 Reale Un vero è un numero a virgola mobile a precisione singola a 4 byte.
DBTYPE_DBTime Tempo Un'ora è una stringa temporale a 8 byte.
DBTYPE_DBTimestamp Marca temporale: Un timestamp è una stringa a 26 byte che rappresenta la data, l'ora e i microsecondi.
DBTYPE_Bytes Varbinary Un file binario variabile è una stringa binaria di lunghezza variabile.
DBTYPE_STR Varchar Un carattere variabile è una stringa di caratteri SBCS o MBCS di lunghezza variabile.
DBTYPE_WSTR Varchar Stringa Unicode di lunghezza variabile.
DBTYPE_WSTR VarGraphic Un elemento grafico variabile è una stringa dbCS di lunghezza variabile.

Le informazioni sullo schema in OLE DB vengono recuperate usando set di righe dello schema predefiniti con IDBSchemaRowset::GetRowset. Il provider di dati ha esposto il set di righe PROVIDER_TYPES per indicare il supporto del tipo di dati DB2 a OLE DB (tipi, mapping, limiti), in base alla piattaforma e alla versione IBM DB2.

DB2 per z/OS

Il provider di dati supporta l'accesso a questi tipi di dati quando si è connessi a DB2 per z/OS.

DB2 Type_name DATA_TYPE OLE DB Column_size Minimum_scale Maximum_scale
Smallint DBType_12 5
Integer DBType_14 10
Bigint DBType_18 19
Binario DBType_Bytes 255
Reale DBType_R4 21
Galleggiare DBType_R8 53
Double DBType_R8 53
Decimale Dbtype_decimal 31 0 31
Grafico DBType_WSTR 127
VarGraphic DBType_WSTR 16352
Char DBType_STR 255
Varchar DBType_STR 32672
Char DBType_WSTR 255
Varchar DBType_WSTR 32672
Numerico DBType_Numeric 31 0 31
Date DBType_DBDate 10
Tempo DBType_DBTime 8
Marca temporale: DBType_Timestamp 26
BLOB DBType_Bytes 2147483647
CLOB DBType_STR 2147483647
Long Varchar DBType_STR 32704
Long Varchar DBType_WSTR 32704
Long Vargraphic DBType_WSTR 16352
Varbinary DBTypte_Bytes 32704

DB2 per IBM i

Il provider di dati supporta l'accesso a questi tipi di dati quando si è connessi a DB2 per IBM i.

DB2 Type_name DATA_TYPE OLE DB Column_size Minimum_scale Maximum_scale
Binario DBType_Bytes 32765
Smallint DBType_12 5
Integer DBType_14 10
Bigint DBType_18 19
Reale DBType_R4 24
Galleggiare DBType_R8 53
Double DBType_R8 53
Decimale Dbtype_decimal 63 0 31
Grafico DBType_WSTR 16382
VarGraphic DBType_WSTR 16369
Char DBType_STR 32765
Varchar DBType_STR 32739
Char DBType_WSTR 32765
Varchar DBType_WSTR 32739
Numerico DBType_Numeric 31 0 31
Date DBType_DBDate 10
Tempo DBType_DBTime 8
Marca temporale: DBType_Timestamp 26
BLOB DBType_Bytes 2147483647
CLOB DBType_STR 2147483647
Varbinary DBType_Bytes 32739

DB2 per LUW

Il provider di dati supporta l'accesso a questi tipi di dati quando si è connessi a DB2 per LUW.

DB2 Type_name DATA_TYPE OLE DB Column_size Minimum_scale Maximum_scale
Binario DBType_Bytes 254
Smallint DBType_12 5
Integer DBType_14 10
Bigint DBType_18 19
Reale DBType_R4 24
Galleggiare DBType_R8 53
Double DBType_R8 53
Decimale Dbtype_decimal 31 0 31
Grafico DBType_WSTR 127
VarGraphic DBType_WSTR 16336
Char DBType_STR 254
Varchar DBType_STR 4000
Char DBType_WSTR 254
Varchar DBType_WSTR 4000
Char() per i dati BIT DBType_Bytes 254
Varchar() per i dati BIT DBType_Bytes 32672
Numerico DBType_Numeric 31 0 31
Date DBType_DBDate 10
Tempo DBType_DBTime 8
Marca temporale: DBType_Timestamp 26
BLOB DBType_Bytes 2147483647
CLOB DBType_STR 2147483647
Long Varchar DBType_STR 32700
Long Varchar DBType_STR 32700
Long Varchar DBType_WSTR 16350
Varbinary DBTYPE_BYTES 32762

SQL Server Integration Services

Quando si usano le procedure guidate importazione/esportazione di SQL Server Integration Services da Microsoft SQL Server Management Studio, è possibile personalizzare le conversioni di dati predefinite modificando i file di mapping XML. I file XML si trovano in C:\Programmi\Microsoft SQL Server\130\DTSMappingFiles per 64 bit e C:\Programmi (x86)\Microsoft SQL Server\130\DTSMappingFiles per 32 bit.

Servizi di replica di SQL Server

La replica di SQL Server può convertire i dati in modo non corretto, in base ai mapping predefiniti da SQL Server a tipi di dati DB2. È consigliabile esaminare l'amministratore e lo sviluppatore e rivedere i mapping dei tipi di dati di replica usando le stored procedure di sistema di SQL Server seguenti.