EXPORT_DATA 的 DBMS_CLOUD 程序包格式选项

介绍具有文本文件格式、CSV、JSON 或 XML 的 DBMS_CLOUD.EXPORT_DATA 的有效格式参数选项。

这些是用于 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')

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

格式选项 说明 语法
compression

指定源文件的压缩类型。

注: ZIP 归档格式不受支持。

format typecsvjsonxml 时,缺省压缩为 Null(表示不压缩)。

format typeparquet 时,缺省压缩为 snappy

type 为:csv | json | xml

compression: gzip

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

typeparquet

compression: gzip | snappy

默认值:snappy

delimiter

指定定制字段分隔符。

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

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

注:此选项仅适用于 csv type

delimiter:字符

默认值 ,(逗号)

endquote

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

例如:

format => JSON_OBJECT('quote' value '(' , 'endquote' value ')')

注:此选项仅适用于 csv type

endquote:字符

默认值: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 接受块密码算法 + 块密码链接修饰符 + 块密码填充修饰符格式的值。

    支持的块密码算法包括:

    • 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:值

指定加密类型。

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。

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

如果不需要文件扩展名,请使用以下值: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:字符

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

trimspaces

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

请参见 Oracle Database 19c UtilitiesOracle Database 26ai Utilities 中的 trim_spec 说明。

注:此选项仅适用于 csv type

trimspaces: rtrim| ltrim| notrim| lrtrim| ldrtrim

默认值:notrim

type

指定输出文件类型。

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

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

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

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

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

有关详细信息,请参阅 Oracle Database 19c UtilitiesOracle Database 26ai Utilities 中的 access_parameters Clause

type: csv|datapump|json|parquet|xml

相关内容

EXPORT_DATA 过程