我正在尝试将一些数据从文件加载到 Oracle DB 中的 NCLOB 类型。文件包含一些多字节字符。
我点击了这个链接并编写了一个程序来做到这一点。但我看到一些额外的字符被添加到数据库中。谁能告诉我下面的代码有什么问题?
CREATE OR REPLACE PROCEDURE TEST_CLOB1_TGT_1537868348743
AS
dest_TEXT3 NCLOB;
src_TEXT3 BFILE := BFILENAME('EXAMPLE_LOB_DIR', 'TEXT3_TEST_CLOB1_TGT_1537868348743.lob');
dst_offset_TEXT3 number := 1 ;
src_offset_TEXT3 number := 1 ;
lang_ctx_TEXT3 number := DBMS_LOB.DEFAULT_LANG_CTX;
warning_TEXT3 number;
BEGIN
INSERT INTO "TEST_CLOB1_TGT" ("ID", "TEXT3") VALUES ( '1', EMPTY_CLOB() ) RETURNING TEXT3 INTO dest_TEXT3;
DBMS_LOB.OPEN(src_TEXT3, DBMS_LOB.LOB_READONLY);
DBMS_LOB.LoadCLOBFromFile(
DEST_LOB => dest_TEXT3
,SRC_BFILE => src_TEXT3
,AMOUNT => DBMS_LOB.GETLENGTH(src_TEXT3)
, DEST_OFFSET => dst_offset_TEXT3
, SRC_OFFSET => src_offset_TEXT3
, BFILE_CSID => DBMS_LOB.DEFAULT_CSID
, LANG_CONTEXT => lang_ctx_TEXT3
, WARNING => warning_TEXT3
);
DBMS_LOB.CLOSE(src_TEXT3);
COMMIT;
END;
/