DBMS_CLOUD EXPORT_DATA 的软件包格式选项

介绍 DBMS_CLOUD.EXPORT_DATA 的有效格式参数选项,其中包含文本文件格式、 CSV、JSON 或 XML。

这些是用于 DBMS_CLOUD.EXPORT_DATA 的有效 format 参数。使用 format type 选项时指定文本文件输出,该值为以下值之一:csvjsonparquetxml

指定格式参数的两种方式是:

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

和:

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

示例:

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

要指定多个格式选项,请使用 "," 分隔值。

例如:

format => json_object('compression' value 'gzip', 'type' value 'json')

此表介绍了 DBMS_CLOUD.EXPORT_DATA 的格式选项(当 format 参数 type 选项为以下项之一时): CSV、JSON、Parquet 或 XML 。有关其他过程和其他输出类型,请参见DBMS_CLOUD Package Format Options 以了解格式选项列表。

格式选项 说明 语法

compression

指定源文件的压缩类型。

注:不支持 ZIP 归档格式。

format typecsvjsonxml 时,缺省压缩为 Null,表示无压缩。

format typeparquet 时,缺省压缩为 snappy

type 为:csv | json | xml

compression:gzip

默认值:空值,表示无压缩。

typeparquet

compression: gzip | snappy

默认值:snappy

delimiter

指定定制字段分隔符。

format => json_object('delimiter' value '|')

分隔符值不能是 ASCII 代码或转义符。

注意:

此选项仅适用于 csv type

delimiter: character

默认值 ,(逗号)

endquote

指定可以使用 quoteendquote 将字段括在两个分隔符之间。如果未指定 endquote,则缺省情况下,quote 字符将用作 endquote 字符。

例如:

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

注意:

此选项仅适用于 csv type

endquotecharacter(字符)

默认值为 Null,表示无 endquote

escape

使用 "\" 字符指定字段值中引号字符的出现。

注意:

此选项仅适用于 csv type

escape : true

默认值:false

encryption

格式选项 encryption 指定要将数据导出和导入对象存储以及从对象存储导入数据的加密和解密选项。

使用 encryption 指定以下参数来加密和解密:

  • user_defined_function:指定用于解密或加密指定 BLOB(二进制大对象)的全限定用户定义函数。它返回解密或加密的 BLOB。此参数与 encryption 的其他参数互斥。

    例如,ADMIN.DECRYPTION_CALLBACK

  • type:指定要解密或加密的内置加密算法。user_defined_functiontype 是互斥的。

    type 接受 Block Cipher Algorithms + Block Cipher Chaining Modifiers + Block Cipher Padding Modifiers 格式的值。

    支持的块密码算法包括:

    • DBMS_CRYPTO.ENCRYPT_AES256

    支持的块密码链接修饰符包括:

    • DBMS_CRYPTO.CHAIN_CBC

    • DBMS_CRYPTO.CHAIN_CFB

    • DBMS_CRYPTO.CHAIN_ECB

    • DBMS_CRYPTO.CHAIN_OFB

    支持的块密码填充修饰符包括:

    • DBMS_CRYPTO.PAD_PKCS5

    • DBMS_CRYPTO.PAD_NONE

    • DBMS_CRYPTO.PAD_ZERO

    • DBMS_CRYPTO.PAD_ORCL

  • credential_name:指定用于存储加密密钥的身份证明。

如果未为这些参数指定值,则块密码链接修饰符和块密码填充修饰符值默认为 DBMS_CRYPTO.CHAIN_CBCDBMS_CRYPTO.PAD_PKCS5

格式选项 encryption 与以下 DBMS_CLOUD 过程一起使用:
  • 用于为以下过程传递要解密的参数:

    • DBMS_CLOUD.COPY_DATA

    • DBMS_CLOUD.CREATE_EXTERNAL_TABLE

    • DBMS_CLOUD.CREATE_HYBRID_TABLE

    • DBMS_CLOUD.COPY_COLLECTION

  • 用于传递参数以对以下过程进行加密:

    • DBMS_CLOUD.EXPORT_DATA

例如:

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 是为加密提供其他参数的 JSON 字符串:

type: value

指定加密类型。

credential_name: value

指定用于存储加密密钥的身份证明。

user_defined_function: value

指定用于解密或加密指定 BLOB(二进制大对象)的全限定用户定义函数。

header

将列名作为 csv 类型的输出文件中的第一行写入。

header 选项可以接受 booleanstring 值。

有效值是:
  • false:跳过标题行。

  • true:包含标题行。列名基于 query 参数中的 SELECT 语句。使用虚拟列或表达式时,必须在 SELECT 语句中指定列别名。

  • String to define custom header names:使您能够定义具有自定义名称的标题行。字符串值中的列数和分隔符数必须与 SELECT 语句中的列数和分隔符数匹配。默认分隔符为逗号 (,)。

例如:

format => JSON_OBJECT('type' value 'csv', 'delimiter' value '|', 'compression' value 'gzip', 'header' value true)

注意:

此选项仅适用于 csv type

header: true| false| String to define custom header names

默认值:false

fileextension

用于覆盖格式类型的默认选择的定制文件扩展名。这适用于带有 DBMS_CLOUD.EXPORT_DATA 的文本格式: CSV、JSON、Parquet 或 XML

如果指定的字符串不以句点 (dot) 开头,则会在最终文件名中的文件扩展名之前自动插入点。

如果不需要文件扩展名,请使用以下值:fileextension ='none'

有效值:任何文件扩展名。

默认值:取决于 format type 选项:
  • CSV 格式:.csv
  • JSON 格式:.json
  • PARQUET 格式:.parquet
  • XML 格式:.xml

maxfilesize

生成的最大输出大小的字节数。

这适用于将 format type 选项设置为 csvjsonxml 时使用 DBMS_CLOUD.EXPORT_DATA 导出数据的基于文本的格式。

注意:当 format type 选项为 parquet 时,此选项无效。

最小值:10485760 (10 MB)

最大值:1 GB

默认值:10485760 (10 MB)

quote

在 CSV 格式中,字段可以用两个分隔符括起来。使用 quoteendquote 指定分隔符。如果未指定 endquote,则缺省情况下,quote 字符将用作 endquote 字符。

注意:

此选项仅适用于 csv type

quote: character

默认值:Null 含义不使用引号将字段括起来。

trimspaces

指定如何为 CSV 格式修改字段中的前导空格和尾随空格。如果指定了 quote 参数,则在引用字段之前应用修剪空格。

请参阅 Oracle Database 19c UtilitiesOracle Database 23ai Utilitiestrim_spec 的说明。

注意:

此选项仅适用于 csv type

trimspaces: rtrim| ltrim| notrim| lrtrim| ldrtrim

默认值:notrim

type

指定输出文件类型。

csv:指定字符分隔值 (Character Separated Values,CSV) 格式,用于将查询结果导出为由任何自定义字符分隔的一组列值。

json:指定将查询结果导出为 JSON 文件。

parquet:指定将查询结果导出为 Parquet 文件。

xml:指定将查询结果导出为有效 XML 文档的行。每行都封装在 <RECORD> </RECORD> 的根 XML 标记中。

使用 XMLFOREST SQL 函数将查询结果自动转换为 XML 格式。使用列别名定制列的 XML 标记名称。

有关详细信息,请参阅 Oracle Database 19c Utilities 中的 access_parameters ClauseOracle Database 23ai Utilities

type: csv|datapump|json|parquet|xml

相关主题