Condividi tramite


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é:
  • Il tipo di dati Data Oracle può contenere anche il valore di tempo.
  • Non esiste alcun equivalente .NET per xsd:date.
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