Tipi di dati Oracle di base
In questo argomento viene descritto come l'adapter Microsoft BizTalk per Oracle E-Business Suite superfici i tipi di dati Oracle di base.
Tipi di dati Oracle supportati
L'adapter Oracle E-Business supporta la digitazione sicura per alcuni tipi di dati Oracle. Quando la digitazione sicura è abilitata, questi tipi di dati vengono rappresentati come stringhe. È possibile configurare la digitazione sicura abilitando la proprietà di associazione EnableSafeTyping (disabilitata per impostazione predefinita). Per altre informazioni sulle proprietà di associazione dell'adapter Oracle E-Business, vedere Leggere le proprietà di associazione bizTalk Adapter for Oracle E-Business Suite.
Nota
La digitazione sicura non è supportata se i tipi di dati si trovano all'interno di tipi definiti dall'utente (UDT).
Nella tabella seguente viene illustrato come vengono visualizzati i tipi di dati Oracle con la digitazione sicura disabilitata (EnableSafeTyping è false). I tipi di dati Oracle interessati dalla proprietà di associazione EnableSafeTyping sono contrassegnati con un asterisco (*).
Tipo di dati Oracle | Tipo XSD | Tipo .NET | Commenti |
---|---|---|---|
BFile | input: xsd:string output: xsd:base64Binary |
string Byte[] |
Il tipo di dati BFile non è supportato all'interno di tipi complessi, ad esempio RecordType, TableType, UDT e VArray. |
BLOB | xsd:base64Binary | Byte[] | - |
Char | xsd:string | string | - |
Clob | xsd:string | string | - |
Data* (Nessuna digitazione sicura se all'interno di un'UDT) |
xsd:dateTime | Datetime | I valori di data non possono contenere informazioni sul fuso orario (offset UTC o UTC): - i valori xsd:dateTime non devono contenere offset UTC o UTC - DateTime.Kind deve essere DateTimeKind.Unspecified Se vengono specificate informazioni sul fuso orario, l'adapter genera un'eccezione XmlReaderParsingException con un messaggio che indica il campo. Nota: L'adapter Oracle E-Business espone il tipo di dati Oracle Date come xsd:dateTime anziché xsd:date perché:
|
Galleggiante** | xsd:float se prec <=7 xsd:double if prec > 7 e <=15 xsd:string if prec > 15 |
Float Double string |
È necessario specificare il valore coerente con il formato specificato per il separatore di caratteri decimali e gruppo nella proprietà di associazione NumericCharacters nella proprietà di associazione MlsSettings . Se non viene specificato alcun valore per la proprietà di associazione NumericCharacters , l'adapter usa le impostazioni MLS per il client ODP.NET nello stesso computer in cui è installato l'adattatore. |
IntervalloDS | xsd:string xsd:duration se all'interno di un'UDT |
string Timepan se all'interno di un'UDT |
L'adapter restituisce i dati IntervalDS come stringa usando il metodo OracleIntervalDS.ToString. Il valore deve essere espresso in formato nativo Oracle: Day HH:MI:SSxFF ,ad esempio "5 15:30:12.99"). |
Intervallo | xsd:string xsd:long se all'interno di un'UDT |
string Long if inside an UDT |
L'adapter restituisce i dati IntervalYM come stringa usando il metodo OracleIntervalYM.ToString. Il valore deve essere espresso in formato nativo Oracle: Year-Month; ad esempio, "1-2" (1 anno e 2 mesi). |
long | xsd:string | string | A partire dal rilascio del database Oracle 9i, il tipo di dati LONG è deprecato. Oracle consiglia invece di usare i tipi di dati LOB (Large Object). Pertanto, quando si eseguono operazioni sul database Oracle usando l'adattatore Oracle Database, è consigliabile usare gli artefatti del database Oracle che operano sui tipi di dati LOB e non sul tipo di dati LONG. |
LongRaw | xsd:base64Binary | Byte[] | - |
NChar | xsd:string | string | - |
NClob | xsd:string | string | |
Numero** | xsd:decimal if prec <=28 xsd:string if prec > 28 |
Decimal string |
- |
NVarchar2 | xsd:string | string | - |
Notifica non elaborata | xsd:base64Binary | Byte[] | |
Rowid | xsd:string | string | - |
Timestamp* (Nessuna digitazione sicura se all'interno di un'UDT) |
xsd:dateTime se prec <= 7 xsd:string if prec > 7 |
Datetime string |
Quando esposto come stringa (prec > 7), il valore deve essere espresso in Oracle NLS_TIMESTAMP_FORMAT. È possibile specificare il formato stringa per i tipi di dati TimeStamp nella proprietà di associazione TimeStampFormat nella proprietà di associazione MlsSettings . Se non viene specificato alcun valore per la proprietà di associazione TimeStampFormat , l'adapter usa le impostazioni MLS per il client ODP.NET nello stesso computer in cui è installato l'adattatore. I valori TimeStamp non possono contenere informazioni sul fuso orario (offset UTC o UTC): - i valori xsd:dateTime non devono contenere offset UTC o UTC - DateTime.Kind deve essere DateTimeKind.Unspecified Se vengono specificate informazioni sul fuso orario, l'adapter genera un'eccezione XmlReaderParsingException con un messaggio che indica il campo. |
TimeStampLTZ | xsd:string | string | TimeStampLTZ non è supportato all'interno di UDT. All'esterno di un UDT: il valore deve essere espresso in Oracle NLS_TIMESTAMP_TZ_FORMAT. È possibile specificare il formato stringa per i tipi di dati TimeStampLTZ nella proprietà di associazione TimeStampTZFormat nella proprietà di associazione MlsSettings . Se non viene specificato alcun valore per la proprietà di associazione TimeStampTZFormat , l'adapter usa le impostazioni MLS per il client ODP.NET nello stesso computer in cui è installato l'adattatore. |
TimeStampTZ | xsd:string xsd:dateTime se all'interno di un'UDT |
string DateTime se all'interno di un'UDT |
All'esterno di un UDT: il valore deve essere espresso in Oracle NLS_TIMESTAMP_TZ_FORMAT. È possibile specificare il formato stringa per i tipi di dati TimeStampTZ nella proprietà di associazione TimeStampTZFormat nella proprietà di associazione MlsSettings . Se non viene specificato alcun valore per la proprietà di associazione TimeStampTZFormat , l'adapter usa le impostazioni MLS per il client ODP.NET nello stesso computer in cui è installato l'adattatore. |
Decimale** | xsd:decimal if prec <=28 xsd:string if prec > 28 |
Decimal string |
- |
Varchar2 | xsd:string | string | - |
Binary Float** | xsd:float se prec <=7 xsd:string if prec > 7 |
Float Stringa |
È necessario specificare il valore coerente con il formato specificato per il separatore di caratteri decimali e gruppo nella proprietà di associazione NumericCharacters nella proprietà di associazione MlsSettings . Se non viene specificato alcun valore per la proprietà di associazione NumericCharacters , l'adapter usa le impostazioni MLS per il client ODP.NET nello stesso computer in cui è installato l'adattatore. |
Binario Double** | xsd:double if prec <=15 xsd:string if prec > 15 |
Double string |
- |
Integer binario** | xsd:integer | Int32 | |
Boolean | xsd:boolean | Boolean nullable | |
XMLTYPE | xsd:string | string | Supportato per i parametri della routine di primo livello. I caratteri XML riservati come '<', '>' devono essere sostituiti con la relativa rappresentazione di entità (<, >) durante lo sviluppo di applicazioni in BizTalk e quando si usa il modello di canale WCF. Non è necessario nel caso del modello di servizio WCF. |
*Il modo in cui questi tipi di dati Oracle vengono visualizzati è interessato dalla proprietà di associazione EnableSafeTyping .
**Il modo in cui questi tipi di dati numerici Oracle all'interno di DataSet e cursori REF tipizzato in modo debole vengono visualizzati dalla proprietà di associazione EnableSafeTyping .
Importante
- La lunghezza massima del valore in un tipo di dati Oracle nella scheda Oracle E-Business è associata alla lunghezza massima del valore supportato da ODP.NET per il tipo di dati Oracle.
- L'adapter Oracle E-Business tratta internamente i tipi di dati numerici Oracle all'interno di UDT come decimale .NET. Tuttavia, in generale ,ovvero all'esterno dell'UDT, l'adapter Oracle E-Business considera internamente i tipi di dati numerici Oracle come OracleDecimal.
Digitazione sicura abilitata
Nella tabella seguente viene illustrato come vengono modificati i tipi di dati Oracle interessati dalla digitazione sicura quando la proprietà di associazione EnableSafeTyping è true.
Nota
I tipi di dati Oracle che non si trovano in questa tabella vengono visualizzati nello stesso modo se la digitazione sicura è abilitata o disabilitata.
Tipo di dati Oracle | Tipo XSD | Tipo .NET | Commento |
---|---|---|---|
Data | xsd:string | string | Il valore deve essere espresso in Oracle NLS_DATE_FORMAT. È possibile specificare il formato per i tipi di dati Date nella proprietà di associazione DateFormat nella proprietà di associazione MlsSettings . Se non viene specificato alcun valore per la proprietà di associazione DateFormat , l'adapter usa le impostazioni mls per il client ODP.NET nello stesso computer in cui è installata l'adapter. |
TimeStamp | xsd:string | string | Il valore deve essere espresso in Oracle NLS_TIMESTAMP_FORMAT. È possibile specificare il formato stringa per i tipi di dati TimeStamp nella proprietà di associazione TimeStampFormat nella proprietà di associazione MlsSettings . Se non viene specificato alcun valore per la proprietà di associazione TimeStampFormat , l'adapter usa le impostazioni MLS per il client ODP.NET nello stesso computer in cui è installato l'adattatore. |
Importante
Se la digitazione sicura è abilitata, i tipi di dati numerici Oracle all'interno di DataSet e cursori REF tipizzato in modo debole vengono sempre esposti come stringhe.
Convalida
L'adapter Oracle E-Business non esegue alcuna convalida esplicita sui valori specificati per i tipi di dati Oracle. Tuttavia, a seconda del tipo di dati Oracle e se la digitazione sicura è abilitata o disabilitata, la convalida implicita può essere eseguita:
Quando si esegue la de serializzazione tra il codice XML passato in un messaggio e i tipi .NET usati internamente dall'adapter.
Per ODP.NET per alcuni tipi di dati.
Vedere anche
Messaggi e schemi di messaggio per l'adapter BizTalk per Oracle E-Business Suite