My Oracle Support Banner

12.2 SQL*Loader: EMPTY_LOBS_ARE_NULL パラメータはEmpty_CLOB()ではなくNULLをLOBデータとしてロードするため導入されました (Doc ID 2255647.1)

Last updated on DECEMBER 10, 2019

適用範囲:

Oracle Database - Enterprise Edition - バージョン 12.2.0.1 以降
Oracle Database Cloud Schema Service - バージョン N/A 以降
Oracle Database Exadata Cloud Machine - バージョン N/A 以降
Oracle Cloud Infrastructure - Database Service - バージョン N/A 以降
Oracle Database Backup Service - バージョン N/A 以降
この文書の内容はすべてのプラットフォームに適用されます。

本文書利用上の注意事項

====================

本文書は英語の文書(Document 2205952.1: 最終メジャー更新日2017年5月 8 日)の日本語版です。

英語の文書の最終メジャー更新日が新しい場合は本文書に適宜反映いたします。

現象

入力ファイルのLOB列データにNULLが指定されていると、SQL*LoaderはNULLの代わりにEmpty_CLOB()をロードします。

例:
========

$ sqlplus tc/tc

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.2.0 - 64bit Beta

SQL> create table t
(
c0 varchar2(10),
c1 clob );

Table created.

ctl1.ctl
==========
load data
infile *
truncate
into table t
fields terminated by ','
trailing nullcols
(
c0 char,
c1 char
)
begindata
1,,

bash-4.1$ sqlldr tc/tc control=ctl1.ctl

SQL*Loader: Release 12.2.0.2.0 - Beta on Mon Nov 21 05:04:53 2016

Copyright (c) 1982, 2016, Oracle and/or its affiliates. All rights reserved.

Path used: Conventional
Commit point reached - logical record count 1

Table TC.T:
1 Row successfully loaded.

Check the log file:
ctl1.log
for more information about the load.

SQL> connect tc/tc
Connected.
SQL> SELECT c0,c1
FROM t
WHERE DBMS_LOB.compare (c1, EMPTY_CLOB ()) = 0;

C0 C1
---------- --------------------------------------------------------------------------------
1

 

原因

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


本書の内容
現象
原因
解決策
参照情報

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.