Options de format de l'ensemble DBMS_CLOUD

L'argument de format dans DBMS_CLOUD spécifie le format des fichiers sources.

Les deux façons de spécifier l'argument de format sont :

format => '{"format_option" : “format_value” }'  

Et :

format => json_object('format_option' value 'format_value'))

Exemples :

format => json_object('type' VALUE 'CSV')

Pour spécifier plusieurs options de format, séparez les valeurs par une ",".

Exemple :

format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 
                           'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true', 'logretention' value 7)
Note

Pour les options de format Avro, ORC ou Parquet, voir Options de format d'ensemble DBMS_CLOUD pour Avro, ORC ou Parquet.

Comme indiqué dans la colonne Option de format, un jeu limité d'options de format est valide avec DBMS_CLOUD.COPY_COLLECTION ou avec DBMS_CLOUD.COPY_DATA lorsque format type est JSON.

Option de format Description Syntaxe

access_protocol

Spécifie le type de table Apache Iceberg, par exemple AWS ou OCI Object Storage, et les informations utilisées pour créer la table externe, par exemple les informations d'un catalogue de données ou d'un URI de métadonnées direct.

Voir Procédure CREATE_EXTERNAL_TABLE pour Apache Iceberg pour plus de détails sur la syntaxe access_protocol.

blankasnull

Lorsque cette option est réglée à true, les champs contenant des espaces sont chargés en tant que champs vides.

blankasnull : true

Valeur par défaut : False

characterset

Valide avec format JSON et COPY_DATA

Spécifie le jeu de caractères des fichiers sources

characterset : chaîne

Valeur par défaut : Jeu de caractères de base de données

columnpath

Utiliser uniquement avec format JSON et COPY_DATA

Tableau d'expressions de chemin JSON correspondant aux champs à extraire des enregistrements JSON. Chacune des expressions de chemin JSON du tableau doit suivre les règles décrites dans Expressions de chemin SQL/JSON.

N'utilisez qu'avec le format JSON et DBMS_CLOUD.COPY_DATA.

Tableau JSON d'expressions de chemin json exprimées au format chaîne. Par exemple : Valeur 'columnpath' '["$.WEATHER_STATION_ID", "$.WEATHER_STATION_NAME"]'

compression

Option valide avec les données JSON

Indique le type de compression du fichier source.

Le format d'archivage ZIP n'est pas pris en charge.

La valeur auto vérifie les types de compression : gzip, zlib, zstd, bzip2.

compression: auto|gzip|zlib|zstd|bzip2

Valeur par défaut : Valeur nulle signifiant qu'aucune compression n'est effectuée.

conversionerrors

Si une rangée est rejetée en raison d'erreurs de conversion de type de données, les colonnes connexes sont stockées comme nulles ou la rangée est rejetée.

conversionerrors : reject_record | store_null

Valeur par défaut : reject_record

dateformat

Indique le format de date dans le fichier source. L'option de format AUTO recherche les formats suivants :

J 
MM-DD-YYYYBC 
MM-DD-YYYY 
YYYYMMDD HHMISS 
YYMMDD HHMISS 
YYYY.DDD 
YYYY-MM-DD

dateformat : chaîne

Valeur par défaut : Format de date de la base de données

delimiter

Spécifie le délimiteur de champ.

Pour utiliser un caractère spécial comme délimiteur, spécifiez la valeur HEX du code ASCII du caractère. Par exemple, ce qui suit spécifie le caractère TAB comme délimiteur :

format => json_object('delimiter' value 'X''9''')

delimiter : caractère

Valeur par défaut | (caractère de tuyau)

detectfieldorder

Indique que les champs des fichiers de données externes sont dans un ordre différent de celui des colonnes de la table. Détectez l'ordre des champs à l'aide de la première ligne de chaque fichier de données externe et mappez-le aux colonnes de la table. Les noms de champ des fichiers de données externes sont comparés de manière non sensible à la casse aux noms des colonnes de la table.

Cette option de format s'applique aux procédures suivantes :

  • DBMS_CLOUD.COPY_DATA

  • DBMS_CLOUD.CREATE_EXTERNAL_TABLE

  • DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE

  • DBMS_CLOUD.CREATE_HYBRID_PART_TABLE

Restrictions pour detectfieldorder :

  • Les noms de champ du fichier de données doivent apparaître dans la première ligne d'enregistrement et ne doivent pas contenir de blancs entre les noms de champ.

  • Le délimiteur de champ de l'enregistrement de noms de champ doit être identique au délimiteur de champ pour les données du fichier.

  • Les noms de champ entre guillemets ne sont pas pris en charge. Les noms de champ des fichiers de données sont comparés, de manière non sensible à la casse, aux noms des colonnes de la table externe.

  • Les délimiteurs de champ intégrés ne sont pas autorisés dans les noms de champ.

  • Le nombre de colonnes dans la table doit correspondre au nombre de champs dans les fichiers de données.

  • Cette option de format n'est pas applicable aux formats Bigdata ou Oracle Data Pump, car ces formats contiennent des informations précises sur les métadonnées de colonne dans le format de fichier binaire.

    Les formats de texte, CSV, JSON, Parquet ou XML peuvent bénéficier de cette détection automatique de l'ordre des champs lorsque la première ligne contient les noms de champ.

Voir NOMS DU SERVICE APRÈS-VENTE et la description pour ALL FILES pour plus d'informations.

detectfieldorder: true

Valeur par défaut : false

enablelogs

L'option de format enablelogs est utilisée avec les procédures DBMS_CLOUD suivantes :

  • COPY_DATA

  • COPY_COLLECTION

  • EXPORT_DATA

enablelogs indique une valeur booléenne. Si elle est réglée à TRUE, les journaux sont générés. Lorsque cette option est réglée à FALSE, les journaux ne sont pas générés.

Exemple :

format => JSON_OBJECT('enablelogs' value FALSE)

enablelogs: false

Valeur par défaut : true

encryption

L'option de format encryption spécifie les options de chiffrement et de déchiffrement pour exporter et importer des données vers et depuis le magasin d'objets.

Utilisez encryption pour spécifier les paramètres suivants pour chiffrer et déchiffrer :

  • user_defined_function : Spécifie une fonction entièrement qualifiée définie par l'utilisateur pour déchiffrer ou chiffrer le BLOB spécifié (objet volumineux binaire). Il retourne un objet BLOB déchiffré ou chiffré. user_defined_function s'exclut mutuellement avec d'autres paramètres pour encryption.

    Par exemple, ADMIN.DECRYPTION_CALLBACK.

  • type : Spécifie l'algorithme de chiffrement DBMS_CRYPTO à déchiffrer ou à chiffrer.

    type accepte les valeurs au format Algorithmes de chiffrement par blocs + Modificateurs d'enchaînement de chiffrement par blocs + Modificateurs d'empilement de chiffrement par blocs.

    Les algorithmes de chiffrement par blocs pris en charge sont les suivants :

    • DBMS_CRYPTO.ENCRYPT_AES256

    Les modificateurs d'enchaînement de chiffrement par blocs pris en charge sont les suivants :

    • DBMS_CRYPTO.CHAIN_CBC

    • DBMS_CRYPTO.CHAIN_CFB

    • DBMS_CRYPTO.CHAIN_ECB

    • DBMS_CRYPTO.CHAIN_OFB

    Les modificateurs de remplissage de chiffrement de bloc pris en charge sont les suivants :

    • DBMS_CRYPTO.PAD_PKCS5

    • DBMS_CRYPTO.PAD_NONE

    • DBMS_CRYPTO.PAD_ZERO

    • DBMS_CRYPTO.PAD_ORCL

  • credential_name : Spécifie les données d'identification utilisées pour stocker la clé de chiffrement.

Les valeurs par défaut des modificateurs d'enchaînement de chiffrement par blocs et des modificateurs de remplissage de chiffrement par blocs sont DBMS_CRYPTO.CHAIN_CBC et DBMS_CRYPTO.PAD_PKCS5, si vous ne spécifiez pas de valeurs pour ces paramètres.

L'option de format encryption est utilisée avec les procédures DBMS_CLOUD suivantes :
  • Utilisé pour transmettre les paramètres à déchiffrer pour ces procédures :

    • DBMS_CLOUD.COPY_DATA

    • DBMS_CLOUD.CREATE_EXTERNAL_TABLE

    • DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE

    • DBMS_CLOUD.CREATE_HYBRID_PART_TABLE

      Pour DBMS_CLOUD.CREATE_HYBRID_PART_TABLE, cette option s'applique uniquement aux fichiers de stockage d'objets.

    • DBMS_CLOUD.COPY_COLLECTION

  • Sert à transmettre des paramètres à chiffrer pour la procédure suivante :

    • DBMS_CLOUD.EXPORT_DATA

Exemple :

format => JSON_OBJECT('encryption' value json_object ('type' value DBMS_CRYPTO.ENCRYPT_AES256 + DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5, 'credential_name' value 'ENCRYPTION_CRED'))
encryption:value

value est une chaîne JSON qui fournit des paramètres supplémentaires pour le chiffrement :

type : value

Spécifie le type de chiffrement.

credential_name: value

Spécifie les données d'identification utilisées pour stocker la clé de chiffrement.

user_defined_function: value

Spécifie une fonction entièrement qualifiée définie par l'utilisateur pour déchiffrer ou chiffrer le BLOB spécifié (objet volumineux binaire).

endquote

Les données peuvent être placées entre deux délimiteurs, spécifiés avec quote et endquote. Les caractères quote et endquote sont supprimés lors du chargement lorsqu'ils sont spécifiés.

Exemple :

format => JSON_OBJECT(‘quote’ value ‘(’, ‘endquote’ value ‘)’)

endquote:character

Valeur par défaut : Nul, ce qui signifie qu'il n'y a pas de endquote.

escape

Le caractère "\" est utilisé comme caractère d'échappement lorsqu'il est spécifié.

escape : true

Valeur par défaut : false

field_list

Identifie les champs des fichiers sources et leur type de données. La valeur par défaut est NULL, ce qui signifie que les champs et leur type de données sont déterminés par le paramètre column_list. Pour plus d'informations, voir field_list dans Utilitaires Oracle Database 19c ou Utilitaires Oracle AI Database 26ai.

Valeur par défaut : NULL

ignoreblanklines

Option valide avec les données JSON

Les lignes vides sont ignorées lorsque la valeur est true.

ignoreblanklines : true

Valeur par défaut : False

ignoremissingcolumns

S'il y a plus de colonnes dans field_list que dans les fichiers sources, les colonnes supplémentaires sont stockées en tant que colonnes vides.

ignoremissingcolumns : true

Valeur par défaut False

implicit_partition_config

L'option implicit_partition_config active le partitionnement implicite lorsque partition_type est réglé à "hive". L'optimisation de partition implicite est activée lorsque strict_column_order est réglé à "Vrai".

Les critères d'utilisation de cette optimisation sont les suivants :
  • Il n'y a aucun fichier avec des chemins complets avec des chaînes supplémentaires avant l'URI du fichier et entre le chemin du nom de la colonne de partition.
    • Par exemple, vous ne pouvez pas avoir de fichiers tels que https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/oraclebigdatadb/b/test-partitions/xyz/.. ou https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/oraclebigdatadb/b/test-partitions/tenant=tenant_01/xyz/dbtype=dbtype_01/year=... Le xyz représente des chaînes supplémentaires. Ces fichiers sont ignorés si l'optimisation de liste est spécifiée et que le prédicat inclut les colonnes de partition implicites après ces chaînes supplémentaires.
  • L'ordre des colonnes de partition dans la spécification doit correspondre aux chemins de fichier réels et les chemins de fichier doivent inclure toutes les colonnes dans partition_columns.
    • Par exemple, vous ne pouvez pas avoir de fichiers tels que https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/oraclebigdatadb/b/test-partitions/year=2023/month=01/tenant=tenant_01/dbtype=... . Il n'est pas dans le bon ordre de la spécification implicit_columns. Ces fichiers sont ignorés si la spécification de liste est spécifiée et que les prédicats incluent les colonnes dans le désordre (par exemple, où tenant='tenant_01' et dbtype='dbtype_1' et year='2023' et ..)
    • Vous ne pouvez pas avoir de fichiers tels que https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/oraclebigdatadb/b/test-partitions/tenant=tenant_01/year=2023/month=01/day=01/myfile.csv. Notez que dbtype est manquant ici. Si l'optimisation est activée, ces fichiers sont ignorés ou l'interrogation reçoit un message d'erreur en fonction des prédicats fournis.
  • Les chemins de fichier doivent utiliser le nom de partitionnement de style Hive.
Les sous-options de l'option de format implicit_partition_config sont les suivantes :
  • partition_type : "hive" est la seule valeur acceptée. La valeur par défaut est le chemin du nom de fichier non Hive.
  • partition_columns: ["column1","column2",…]
  • strict_column_order : Faux (par défaut), Vrai
Exemple :
dbms_cloud.create_external_table (
   table_name        => 'partitions1',
   credential_name   => 'MY_CRED',
   file_uri_list     => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/n/oraclebigdatadb/b/test-partitions/',
   column_list       => 'payload varchar2(100), y number, total_sales number, tenant varchar2(10), dbtype varchar(10), year varchar(4), month varchar(2) day varchar(2)',
   format            => '{"type":"parquet",
                          "implicit_partition_config":{
                                    "partition_type":"hive",
                                    "strict_column_order":true,
                                    "partition_columns":["tenant","dbtype","year","month","day"]                          }                          }');

implicit_partition_config comporte les sous-options suivantes :

  • partition_type: hive

    La valeur par défaut est un chemin de nom de fichier non Hive. La seule valeur valide est hive.

  • partition_columns : tableau de chaînes

    Valeur par défaut : Si partition_type est spécifié, les noms de colonne sont dérivés par la détection automatique des clés de partition dans les données partitionnées de style HIVE. Sinon, la valeur par défaut est nulle et le partitionnement implicite n'est pas activé.

  • strict_column_order: true

    Valeur par défaut : Faux

implicit_partition_columns

Activez le partitionnement implicite et spécifiez les noms de colonne de partition à l'aide de l'option de format implicit_partition_columns avec DBMS_CLOUD.CREATE_EXTERNAL_TABLE.

Le partitionnement implicite est activé de la manière suivante :

  • Utilisez implicit_partition_columns pour fournir une liste de colonnes de partition et spécifiez implicit_partition_type. Exemple :
    format => '{"implicit_partition_type":"hive",
          "implicit_partition_columns":["country","year","month"]}'
  • Utilisez implicit_partition_columns pour fournir une liste de colonnes de partition sans indiquer le type de partition. Le type de partition est automatiquement détecté comme ruche ou non ruche. Exemple :
    format => '{"implicit_partition_columns":["country","year","month"]}'
  • Utilisez implicit_partition_type pour fournir le type de colonnes de partition sans fournir de liste de colonnes de partition. La détection automatique des clés de partition dans les données partitionnées de style HIVE est déclenchée pour déterminer les noms de colonne. Exemple :
    format => '{"partition_type":"hive"}'

Voir implicit_partition_type pour la description et la syntaxe de l'option.

implicit_partition_columns : tableau de chaînes

Valeur par défaut : Si implicit_partition_type est spécifié, les noms de colonne sont dérivés par la détection automatique des clés de partition dans les données partitionnées de style HIVE. Sinon, la valeur par défaut est nulle et le partitionnement implicite n'est pas activé.

implicit_partition_type

Activez le partitionnement implicite et spécifiez les types de données des colonnes de partition à l'aide de l'option de format implicit_partition_type avec DBMS_CLOUD.CREATE_EXTERNAL_TABLE.

Voir implicit_partition_columns pour plus d'informations sur l'activation du partitionnement implicite et pour obtenir des exemples.

implicit_partition_type : ruche

Valeur par défaut : Si implicit_partition_columns est spécifié, le type est automatiquement détecté comme ruche ou autre. Sinon, la valeur par défaut est nulle et le partitionnement implicite n'est pas activé.

jsonpath

Utiliser uniquement avec COPY_COLLECTION

Chemin JSON permettant d'identifier le document à charger.

Cette option n'est valide que pour les données de collecte JSON avec DBMS_CLOUD.COPY_COLLECTION.

jsonpath : chaîne

Valeur par défaut : Nul

keyassignment

Utiliser uniquement avec COPY_COLLECTION

Indique si une nouvelle collection est créée en tant que collection compatible mongo ou en tant que collection SODA.

Lorsque la valeur est réglée à embedded_oid, une nouvelle collection est créée en tant que collection compatible mongo.

Par défaut, ce paramètre n'est pas défini, ce qui signifie qu'une nouvelle collection est créée en tant que collection SODA.

keyassignment: embedded_oid

Par défaut : keyassignment n'est pas défini

keypath

Utiliser uniquement avec COPY_COLLECTION

Spécifie un attribut dans les données à charger en tant que valeur '_id'.

Si keypath est spécifié, vous devez également spécifier la valeur keyassignment comme embedded_oid.

Réglez la valeur à un chemin, par exemple '$.mykey', pour sélectionner la valeur du chemin en tant que valeur '_id'.

Ce paramètre est facultatif et n'est valide que pour le chargement dans des collections compatibles mongo.

S'il n'est pas spécifié, Oracle génère un ID système unique de 12 octets et l'alimente en tant qu'attribut '_id', si un attribut '_id' n'est pas déjà présent dans les données en cours de chargement.

keypath: string

Par défaut : keypath n'est pas défini.

Lorsque keypath est défini, la valeur par défaut de chaîne est NULL.

language

Indique un nom de langue (par exemple, FRENCH), à partir duquel les informations sensibles aux paramètres régionaux peuvent être dérivées.

language: chaîne

Valeur par défaut : Nul

Voir Locale Data dans le Guide sur la prise en charge de la globalisation dans Oracle Database pour obtenir la liste des langues prises en charge par Oracle.

logdir

Spécifie une valeur de chaîne qui détermine le nom de l'objet de répertoire où les fichiers logfile_table ou badfile_table sont enregistrés.

Par défaut, logdir n'est pas sensible à la casse, mais la casse est réservée lorsque la valeur spécifiée est encadrée de guillemets doubles.

Exemple :

format => JSON_OBJECT ('logdir' value 'test_log')

L'option de format logdir spécifiée dans l'exemple ci-dessus enregistre les fichiers logfile_table ou badfile_table dans l'objet de répertoire TEST_LOG.

format => JSON_OBJECT ('logdir' value '"test_log"')

L'option de format logdir spécifiée dans l'exemple ci-dessus enregistre les fichiers logfile_table ou badfile_table dans l'objet de répertoire test_log.

logdir : chaîne

Valeur par défaut : DATA_PUMP_DIR

logprefix

Spécifie une valeur de chaîne qui détermine le préfixe des fichiers logfile_table et badfile_table.

Le format du nom de la table de journaux est : préfixe de journal$operation_id

Par défaut, le préfixe de journal est en majuscules, mais la casse est réservée lorsque la valeur spécifiée est encadrée de guillemets doubles.

Exemple :

format => JSON_OBJECT ('logprefix' value 'TEST')

Les fichiers journaux utilisent ensuite le préfixe TEST, par exemple : TEST$2_LOG et TEST$2_BAD.

logprefix : chaîne

Valeur par défaut : COPY

logretention

Spécifie une durée entière positive, en jours, pour laquelle les fichiers logfile_table et badfile_table sont conservés.

Valeurs valides : 0 à 99999

Exemple :

format => JSON_OBJECT ('logretention' value 7)

logretention : numéro

Valeur par défaut : 2

maxdocsize

Cette option n'est valide qu'avec des données JSON

Taille maximale des documents JSON.

maxdocsize : numéro

Valeur par défaut : 1 mégaoctet

Valeur maximale autorisée : 2 gigaoctets

numericcharacters

Spécifie les caractères à utiliser en tant que séparateur de groupe et caractère décimal.

decimal_character : Caractère qui sépare la partie entière d'un nombre de la partie décimale.

group_separator : Le séparateur de groupe sépare des groupes entiers (c'est-à-dire des milliers, des millions, des milliards, etc.).

numericcharacters: 'decimal_character group_separator'

Valeur par défaut : ".,"

Pour plus d'informations, voir NLS_NUMERIC_CHARACTERS dans le Guide sur la prise en charge de la globalisation dans Oracle Database.

numberformat

Spécifie le modèle de format numérique. Avec les modèles de format numérique, le nombre est arrondi au nombre spécifié de chiffres significatifs. Un modèle de format numérique est composé d'un ou plusieurs éléments de format numérique.

Il est utilisé conjointement avec numericcharacters.

numberformat: number_format_model

Valeur par défaut : est dérivée du paramètre NLS_TERRITORY

Pour plus d'informations, voir Modèles de format numérique dans Informations de référence sur le langage SQL.

partition_columns

L'option de format partition_columns est utilisée avec DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE pour spécifier les noms de colonne et les types de données des colonnes de partition lorsque les colonnes de partition sont dérivées du chemin d'accès au fichier, selon le type de fichier de données, structuré ou non structuré :

  • Lorsque DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE inclut le paramètre column_list et que le fichier de données n'est pas structuré, par exemple avec des fichiers texte CSV, partition_columns n'inclut pas le type de données. Par exemple, utilisez un format tel que le suivant pour ce type de spécification partition_columns :

    '"partition_columns":["state","zipcode"]'

    Le type de données n'est pas requis, car il est spécifié dans le paramètre DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE column_list.

  • Lorsque le paramètre DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE n'inclut pas le paramètre column_list et que les fichiers de données sont structurés, tels que les fichiers Avro, ORC ou Parquet, l'option partition_columns inclut le type de données. Par exemple, l'illustration suivante présente une spécification partition_columns :

    '"partition_columns":[
                   {"name":"country", "type":"varchar2(10)"},
                   {"name":"year", "type":"number"},
                   {"name":"month", "type":"varchar2(10)"}]'

Si les fichiers de données ne sont pas structurés et que la sous-clause type est spécifiée avec partition_columns, la sous-clause type est ignorée.

Pour les noms d'objet qui ne sont pas basés sur le format de ruche, l'ordre des colonnes spécifiées par partition_columns doit correspondre à l'ordre tel qu'il apparaît dans le nom d'objet dans file_uri_list.

 

preview_mode

L'option de format preview_mode est utilisée avec DBMS_CLOUD.CREATE_EXTERNAL_TABLE et DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE pour spécifier explicitement que la table externe doit être créée à l'aide du pilote d'accès ORACLE_BIGDATA.

Exemple :
format => json_object ('preview_mode' VALUE 'true')

L'option de format preview_mode n'est prise en charge que pour les fichiers texte CSV.

L'opération de création de table entraînera une erreur dans les cas suivants :
  • preview_mode est réglé à TRUE et les fichiers de données sources ne sont pas des fichiers texte CSV.

  • preview_mode est réglé à TRUE et des paramètres supplémentaires sont spécifiés qui sont incompatibles avec le pilote d'accès ORACLE_BIGDATA ou avec le traitement de fichier texte CSV. Le message d'erreur identifie l'option incompatible à l'origine de l'échec.

preview_mode:true

Valeur par défaut : false

quote

Spécifie le caractère de devis pour les champs. Lorsqu'ils sont spécifiés, les caractères quote sont supprimés lors du chargement.

quote: character

Valeur par défaut : Nul, sans guillemet

readsize

Spécifie la taille de la mémoire tampon de lecture pour traiter les enregistrements.

Le paramètre readsize doit être au moins aussi volumineux que le plus grand enregistrement du jeu de données en cours de lecture.

Exemple :

format => JSON_OBJECT ('readsize' value 1000)

readsize : numéro

Valeur par défaut : 10 mégaoctets

recorddelimiter

Option valide avec les données JSON

Spécifie le délimiteur d'enregistrement.

Par défaut, DBMS_CLOUD tente de trouver automatiquement le caractère de saut de ligne correct comme délimiteur. Il recherche d'abord le caractère de saut de ligne Windows "\r\n" dans le fichier. S'il trouve le caractère de saut de ligne Windows, celui-ci est utilisé comme délimiteur d'enregistrement pour tous les fichiers de la procédure. Si aucun caractère de nouvelle ligne Windows n'est trouvé, il recherche le caractère de nouvelle ligne UNIX/Linux "\n" et, s'il le trouve, il utilise "\n" comme délimiteur d'enregistrement pour tous les fichiers de la procédure.

Indiquez cet argument explicitement si vous souhaitez remplacer le comportement par défaut, par exemple :

format => json_object('recorddelimiter' VALUE '''\r\n''')

Pour indiquer qu'il n'y a pas de délimiteur d'enregistrement, vous pouvez spécifier une valeur recorddelimiter qui n'apparaît pas dans le fichier d'entrée. Par exemple, pour indiquer qu'il n'y a pas de délimiteur, spécifiez le caractère de contrôle 0x01 (SOH) comme valeur pour recorddelimiter et réglez la valeur recorddelimiter à "0x''01''" (ce caractère n'apparaît pas dans le texte JSON). Exemple :

format => '{"recorddelimiter" : "0x''01''"}'
Lors de l'importation à partir de fichiers CSV si la fin d'une ligne est NULL ou non spécifiée, la base de données ne copie pas les données avec succès, car detected newline ne peut pas interpréter cela comme un délimiteur. Dans ce cas, réglez la valeur recorddelimiter à 'X''0A'''.
format => '{"recorddelimiter" : 'X''0A'''}'

recorddelimiter est défini une fois par appel de procédure. Si vous utilisez la valeur par défaut, detected newline, tous les fichiers utilisent le même délimiteur d'enregistrement, le cas échéant.

recorddelimiter : caractère

Valeur par défaut : newline détectée

regexuri

L'option de format regexuri est utilisée avec les procédures DBMS_CLOUD suivantes :

  • COPY_COLLECTION

  • COPY_DATA

  • CREATE_EXTERNAL_TABLE

  • CREATE_EXTERNAL_PART_TABLE

  • CREATE_HYBRID_PART_TABLE

Lorsque la valeur de regexuri est réglée à TRUE, vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier des URI de fichier source en nuage.

Les caractères "*" et "?" sont considérés comme des caractères génériques lorsque le paramètre regexuri est réglé à FALSE. Lorsque le paramètre regexuri est réglé à TRUE, les caractères "*" et "?" font partie du modèle d'expression rationnelle spécifié.

Les modèles d'expression rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction REGEXP_LIKE. Les modèles d'expression rationnelle ne sont pas pris en charge pour les noms de répertoire.

Pour les tables externes, cette option n'est prise en charge qu'avec les tables créées dans un fichier du stockage d'objets.

Exemple :

format => JSON_OBJECT('regexuri' value TRUE)

Voir Condition REGEXP_LIKE pour plus d'informations sur la condition REGEXP_LIKE.

regexuri: True

Valeur par défaut : False

rejectlimit

L'opération échoue après le rejet du nombre spécifié de rangées.

rejectlimit : nombre

Valeur par défaut : 0

removequotes

Supprime les guillemets qui encadrent tout champ du fichier source.

removequotes: true

Valeur par défaut : False

skipheaders

Indique combien de rangées doivent être ignorées à partir du début du fichier.

skipheaders : nombre

Valeur par défaut : 0 s'il n'est pas spécifié, 1 s'il est spécifié sans valeur

territory

Indique un nom de territoire pour déterminer plus précisément les caractéristiques des données d'entrée.

territory : chaîne

Valeur par défaut : Nul

Voir Locale Data dans le Guide sur la prise en charge de la globalisation dans Oracle Database pour obtenir la liste des territoires pris en charge par Oracle.

timestampformat

Précise le format de l'horodatage dans le fichier source. L'option de format AUTO recherche les formats suivants :

YYYY-MM-DD HH:MI:SS.FF 
YYYY-MM-DD HH:MI:SS.FF3
YYYY-MM-DD HH24:MI:SS.FF3
MM/DD/YYYY HH:MI:SS.FF3

timestampformat : chaîne

Valeur par défaut : Format d'horodatage de la base de données

La chaîne peut contenir des caractères génériques tels que "$".

timestampltzformat

Indique l'horodatage avec le format de fuseau horaire local dans le fichier source. L'option de format AUTO recherche les formats suivants :

DD Mon YYYY HH:MI:SS.FF TZR 
MM/DD/YYYY HH:MI:SS.FF TZR 
YYYY-MM-DD HH:MI:SS+/-TZR 
YYYY-MM-DD HH:MI:SS.FF3 
DD.MM.YYYY HH:MI:SS TZR

timestampltzformat : chaîne

Valeur par défaut : Horodatage de la base de données avec le format de fuseau horaire local

timestamptzformat

Indique l'horodatage avec le format de fuseau horaire dans le fichier source. L'option de format AUTO recherche les formats suivants :

DD Mon YYYY HH:MI:SS.FF TZR 
MM/DD/YYYY HH:MI:SS.FF TZR 
YYYY-MM-DD HH:MI:SS+/-TZR 
YYYY-MM-DD HH:MI:SS.FF3 
DD.MM.YYYY HH:MI:SS TZR

timestamptzformat : chaîne

Valeur par défaut : Horodatage de la base de données avec le format de fuseau horaire

trimspaces

Indique la façon dont les espaces de début et de fin des champs sont tronqués.

Voir la description de trim_spec.

trimspaces : rtrim| ltrim| notrim| lrtrim| ldrtrim

Valeur par défaut : notrim

truncatecol

Si les données du fichier sont trop longues pour un champ, cette option tronque la valeur du champ plutôt que de rejeter la rangée.

truncatecol :true

Valeur par défaut : False

type

Indique le type de fichier source.

Voir la description de CSV dans la clause field_definitions

Si type est datapump, la seule autre option de format valide est rejectlimit.

If the type is datapump, then the only Object Stores supported are Oracle Cloud Infrastructure Object Storage and Oracle Cloud Infrastructure Object Storage Classic.

Voir Options de format d'ensemble DBMS_CLOUD pour Avro, ORC ou Parquet pour les valeurs type avro, orc ou parquet.

Pour les données JSON avec DBMS_CLOUD.COPY_COLLECTION type, deux valeurs valides sont valides : json (par défaut) et ejson. Pour DBMS_CLOUD.COPY_COLLECTION, ces deux valeurs spécifient que l'entrée est des données JSON. La valeur ejson entraîne la traduction des objets étendus dans les données d'entrée JSON textuelles en valeurs JSON scalaires dans la collection JSON binaire native. La valeur json n'effectue pas cette transformation et tous les objets des données d'entrée sont convertis au format JSON binaire.

Pour les données JSON avec DBMS_CLOUD.COPY_DATA type, une valeur valide est : json. Cette valeur spécifie que l'entrée est des données JSON.

type: csv|csv with embedded|csv without embedded |avro||datapump|orc|parquet

Note

Les procédures DBMS_CLOUD ne prennent pas toutes en charge tous ces types.

csv est identique à csv without embedded.

Valeur par défaut : Nul

Pour les données JSON, il existe deux valeurs type valides à utiliser avec DBMS_CLOUD.COPY_COLLECTION : json|ejson Dans ce cas, la valeur par défaut est json. Pour les données JSON avec DBMS_CLOUD.COPY_DATA, seul json est valide.

unpackarrays

Utiliser uniquement avec COPY_COLLECTION

Lorsque cette option est réglée à true, si un document chargé est un tableau, le contenu du tableau est chargé en tant que documents plutôt que le tableau lui-même. Cela ne s'applique qu'au tableau de niveau supérieur.

Lorsque cette option est réglée à true, le tableau entier est inséré en tant que document unique.

Cette option n'est valide que pour les données de collecte JSON avec DBMS_CLOUD.COPY_COLLECTION.

unpackarrays: true

Valeur par défaut : False