テキスト ファイルを clob としてデータベースにロードする際に問題が発生しました。
- Oracle バージョン: Oracle データベース 11g EE リリース 11.2.0.2.0
- NLS_LANG: RUSSIAN_RUSSIA.CL8MSWIN1251
- NLS_CHARACTERSET: AL32UTF8
テキストファイルをロードするコード:
DECLARE
L_BFILE BFILE;
L_CLOB CLOB;
file_name VARCHAR2(300);
BEGIN
file_name := 'test.txt';
L_BFILE := BFILENAME('DIR', file_name);
if (dbms_lob.fileexists(l_bfile) = 1) then
INSERT INTO TEST T
VALUES (SEQ_TEST.NEXTVAL, EMPTY_CLOB(),file_name) return r_data into l_clob;
L_BFILE := BFILENAME('DIR', file_name);
DBMS_LOB.FILEOPEN(L_BFILE, DBMS_LOB.FILE_READONLY);
DBMS_LOB.LOADFROMFILE(L_CLOB, L_BFILE, DBMS_LOB.GETLENGTH(L_BFILE));
DBMS_LOB.FILECLOSE(L_BFILE);
COMMIT;
end if;
END;
テキストファイルはUTF8です。データベースにロードした後、select を実行して、ロシア語の文字の代わりに四角形を取得します。助けてください!