EXPORT_DATA 的 DBMS_CLOUD 套件格式選項

說明 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')

format 參數 type 選項為下列其中之一時,此表格會涵蓋 DBMS_CLOUD.EXPORT_DATA 的格式選項: CSV、JSON、Parquet 或 XML 。如需其他程序及其他輸出類型,請參閱 DBMS_CLOUD 套裝軟體格式選項以取得格式選項清單。

格式選項 描述 語法

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字元

預設值 ,(逗號)

endquote

指定欄位可以用 quoteendquote 括在兩個分隔符號之間。如果未指定 endquote,則預設會使用 quote 字元作為 endquote 字元。

舉例而言:

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

附註:

此選項僅適用於 csv type

endquote字元

預設值:空值,表示沒有 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: 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

如果指定的字串不是以句點 (點) 開頭,則會在最終檔案名稱的副檔名之前自動插入點。

如果不需要副檔名,請使用值: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 公用程式Oracle Database 23ai 公用程式trim_spec 的描述。

附註:

此選項僅適用於 csv type

trimspaces: rtrim| ltrim| notrim| lrtrim| ldrtrim

預設值:notrim

type

指定輸出檔案類型。

csv:指定「字元區隔值 (CSV)」格式,可讓您將查詢結果匯出為一組以任何自訂字元區隔的資料欄值。

json:指定將查詢結果匯出為 JSON 檔案。

parquet:指定將查詢結果匯出為 Parquet 檔案。

xml:指定將查詢結果匯出為有效 XML 文件的資料列。每個資料列都封裝在 <RECORD> </RECORD> 的根 XML 標記中。

查詢結果會使用 XMLFOREST SQL 函數自動轉換成 XML 格式。使用「資料欄別名」來自訂資料欄的 XML 標記名稱。

請參閱 Oracle Database 19c 公用程式中的 access_parameters 子句Oracle Database 23ai 公用程式,瞭解詳細資訊。

type: csv|datapump|json|parquet|xml

相關主題