Partager via


Types de données Oracle de base

Cette rubrique décrit comment l’adaptateur Microsoft BizTalk pour Oracle E-Business Suite présente les types de données Oracle de base.

Types de données Oracle pris en charge

L’adaptateur Oracle E-Business prend en charge la saisie sécurisée pour certains types de données Oracle. Lorsque la saisie sécurisée est activée, ces types de données sont représentés sous forme de chaînes. Vous configurez la saisie sécurisée en activant la propriété de liaison EnableSafeTyping (désactivée par défaut). Pour plus d’informations sur les propriétés de liaison de l’adaptateur Oracle E-Business, consultez En savoir plus sur les propriétés de liaison de l’adaptateur BizTalk pour Oracle E-Business Suite.

Notes

La saisie sécurisée n’est pas prise en charge si les types de données se trouvent dans des types définis par l’utilisateur (UDR).

Le tableau suivant montre comment les types de données Oracle sont exposés avec la saisie sécurisée désactivée (EnableSafeTyping a la valeur false). Les types de données Oracle affectés par la propriété de liaison EnableSafeTyping sont marqués d’un astérisque (*).

Type de données Oracle Type XSD Type .NET Commentaires
BFile input : xsd :string

sortie : xsd :base64Binary
String

Byte[]
Le type de données BFile n’est pas pris en charge dans les types complexes (par exemple, RecordType, TableType, UDT et VArray).
Blob xsd:base64Binary Byte[] -
Char xsd:string String -
Clob xsd:string String -
Date*

(Aucun typage sécurisé à l’intérieur d’un type défini par l’utilisateur)
xsd:dateTime DateTime Les valeurs de date ne peuvent pas contenir d’informations de fuseau horaire (décalages UTC ou UTC) :

- Les valeurs xsd :dateTime ne doivent pas contenir de décalages UTC ou UTC
- DateTime.Kind doit être DateTimeKind.Unspecified

Si des informations de fuseau horaire sont spécifiées, l’adaptateur lève une exception XmlReaderParsingException avec un message qui indique le champ. Note: L’adaptateur Oracle E-Business expose le type de données Date Oracle sous la forme xsd :dateTime au lieu de xsd :date, car :
  • Le type de données Date Oracle peut également contenir une valeur d’heure.
  • Il n’existe aucun équivalent .NET pour xsd :date.
Flotteur** xsd :float if prec <=7

xsd :double si prec > 7 et <=15

xsd :string si préc > 15
Float

Double

String
Vous devez spécifier la valeur cohérente avec le format spécifié pour le séparateur de groupe et le caractère décimal dans la propriété de liaison NumericCharacters sous la propriété de liaison MlsSettings . Si aucune valeur n’est spécifiée pour la propriété de liaison NumericCharacters , l’adaptateur utilise les paramètres MLS pour le client ODP.NET sur l’ordinateur sur lequel l’adaptateur est installé.
IntervalDS xsd:string

xsd :duration si à l’intérieur d’un UDT
String

Intervalle de temps si à l’intérieur d’un type défini par l’utilisateur
L’adaptateur retourne les données IntervalDS sous forme de chaîne à l’aide de la méthode OracleIntervalDS.ToString.

La valeur doit être exprimée au format natif Oracle : Day HH :MI :SSxFF (par exemple, « 5 15 :30 :12.99 »).
IntervalYM xsd:string

xsd :long si à l’intérieur d’un UDT
String

Long si à l’intérieur d’un UDT
L’adaptateur retourne les données IntervalYM sous forme de chaîne à l’aide de la méthode OracleIntervalYM.ToString.

La valeur doit être exprimée au format natif Oracle : Année-Mois ; par exemple, « 1-2 » (1 an et 2 mois).
Long xsd:string String À compter de la version oracle database 9i, le type de données LONG est déconseillé. Oracle recommande d’utiliser les types de données LOB (Large Object) à la place. Par conséquent, lors de l’exécution d’opérations sur la base de données Oracle à l’aide de l’adaptateur Oracle Database, nous vous recommandons d’utiliser des artefacts de base de données Oracle qui fonctionnent sur les types de données métier et non sur le type de données LONG.
LongRaw xsd:base64Binary Byte[] -
NChar xsd:string String -
NClob xsd:string String
Nombre** xsd :decimal si prec <=28

xsd :string si préc > 28
Decimal
String
-
NVarchar2 xsd:string String -
Brut xsd:base64Binary Byte[]
Rowid xsd:string String -
Timestamp*

(Aucun typage sécurisé à l’intérieur d’un type défini par l’utilisateur)
xsd :dateTime si prec <= 7

xsd :string si préc > 7
DateTime

String
Lorsqu’elle est exposée sous forme de chaîne (antérieure à > 7), la valeur doit être exprimée dans Oracle NLS_TIMESTAMP_FORMAT. Vous pouvez spécifier le format de chaîne pour les types de données TimeStamp dans la propriété de liaison TimeStampFormat sous la propriété de liaison MlsSettings . Si aucune valeur n’est spécifiée pour la propriété de liaison TimeStampFormat , l’adaptateur utilise les paramètres MLS du client ODP.NET sur l’ordinateur sur lequel l’adaptateur est installé.

Les valeurs TimeStamp ne peuvent pas contenir d’informations de fuseau horaire (décalages UTC ou UTC) :

- les valeurs xsd :dateTime ne doivent pas contenir de décalages UTC ou UTC
- DateTime.Kind doit être DateTimeKind.Unspecified

Si des informations de fuseau horaire sont spécifiées, l’adaptateur lève une exception XmlReaderParsingException avec un message indiquant le champ.
TimeStampLTZ xsd:string String TimeStampLTZ n’est pas pris en charge dans les UDT.

En dehors d’un UDT : la valeur doit être exprimée dans oracle NLS_TIMESTAMP_TZ_FORMAT. Vous pouvez spécifier le format de chaîne pour les types de données TimeStampLTZ dans la propriété de liaison TimeStampTZFormat sous la propriété de liaison MlsSettings . Si aucune valeur n’est spécifiée pour la propriété de liaison TimeStampTZFormat , l’adaptateur utilise les paramètres MLS du client ODP.NET sur l’ordinateur sur lequel l’adaptateur est installé.
TimeStampTZ xsd:string

xsd :dateTime si à l’intérieur d’un UDT
String

DateTime si à l’intérieur d’un UDT
En dehors d’un UDT : la valeur doit être exprimée dans oracle NLS_TIMESTAMP_TZ_FORMAT. Vous pouvez spécifier le format de chaîne pour les types de données TimeStampTZ dans la propriété de liaison TimeStampTZFormat sous la propriété de liaison MlsSettings . Si aucune valeur n’est spécifiée pour la propriété de liaison TimeStampTZFormat , l’adaptateur utilise les paramètres MLS du client ODP.NET sur l’ordinateur sur lequel l’adaptateur est installé.
Decimales** xsd :decimal if prec <=28

xsd :string si préc > 28
Decimal

String
-
Varchar2 xsd:string String -
Float binaire** xsd :float if prec <=7

xsd :string si préc > 7
Float

Chaîne
Vous devez spécifier la valeur cohérente avec le format spécifié pour le caractère décimal et le séparateur de groupe dans la propriété de liaison NumericCharacters sous la propriété de liaison MlsSettings . Si aucune valeur n’est spécifiée pour la propriété de liaison NumericCharacters , l’adaptateur utilise les paramètres MLS du client ODP.NET sur l’ordinateur sur lequel l’adaptateur est installé.
Double binaire** xsd :double if prec <=15

xsd :string si préc > 15
Double

String
-
Entier binaire** xsd:integer Int32
Boolean xsd:boolean Valeur booléenne nullable
XMLTYPE xsd:string String Pris en charge pour les paramètres de procédure de niveau supérieur.

Les caractères XML réservés tels que «< », « »> doivent être remplacés par leur représentation d’entité (<, >) lors du développement d’applications dans BizTalk et lors de l’utilisation du modèle de canal WCF. Cela n’est pas obligatoire dans le cas du modèle de service WCF.

*La façon dont ces types de données Oracle sont exposés est affectée par la propriété de liaison EnableSafeTyping .

**La façon dont ces types de données numériques Oracle à l’intérieur des DataSets et des CURSEURS REF faiblement typés est affectée par la propriété de liaison EnableSafeTyping .

Important

  • La longueur maximale de la valeur dans un type de données Oracle dans l’adaptateur Oracle E-Business est limitée par la longueur maximale de la valeur prise en charge par ODP.NET pour le type de données Oracle.
    • L’adaptateur Oracle E-Business traite en interne les types de données numériques Oracle à l’intérieur des UDT comme décimaux .NET. Toutefois, en général (c’est-à-dire en dehors des UUDT), l’adaptateur Oracle E-Business traite en interne les types de données numériques Oracle comme OracleDecimal.

Saisie sécurisée activée

Le tableau suivant montre comment les types de données Oracle affectés par la saisie sécurisée sont modifiés lorsque la propriété de liaison EnableSafeTyping est true.

Notes

Les types de données Oracle qui ne figurent pas dans cette table sont exposés de la même manière, que la saisie sécurisée soit activée ou désactivée.

Type de données Oracle Type XSD Type .NET Commentaire
Date xsd:string String La valeur doit être exprimée dans Oracle NLS_DATE_FORMAT. Vous pouvez spécifier le format des types de données Date dans la propriété de liaison DateFormat sous la propriété de liaison MlsSettings . Si aucune valeur n’est spécifiée pour la propriété de liaison DateFormat , l’adaptateur utilise les paramètres MLS du client ODP.NET sur l’ordinateur sur lequel l’adaptateur est installé.
TimeStamp xsd:string String La valeur doit être exprimée dans Oracle NLS_TIMESTAMP_FORMAT. Vous pouvez spécifier le format de chaîne pour les types de données TimeStamp dans la propriété de liaison TimeStampFormat sous la propriété de liaison MlsSettings . Si aucune valeur n’est spécifiée pour la propriété de liaison TimeStampFormat , l’adaptateur utilise les paramètres MLS du client ODP.NET sur l’ordinateur sur lequel l’adaptateur est installé.

Important

Si la saisie sécurisée est activée, les types de données numériques Oracle à l’intérieur des DataSets et les CURSEURS REF faiblement typés sont toujours exposés sous forme de chaînes.

Validation

L’adaptateur Oracle E-Business n’effectue aucune validation explicite sur les valeurs que vous spécifiez pour les types de données Oracle. Toutefois, selon le type de données Oracle et si la saisie sécurisée est activée ou désactivée, la validation implicite peut être effectuée :

  • Lors de la désérialisation entre le code XML transmis dans un message et les types .NET utilisés en interne par l’adaptateur.

  • Par ODP.NET pour certains types de données.

Voir aussi

Messages et schémas de message pour l’adaptateur BizTalk pour Oracle E-Business Suite