Załaduj pliki tekstowe jako clob do bazy danych

Masz problem z ładowaniem plików tekstowych do bazy danych jako clob.

Wersja Oracle: Oracle Database 11g EE Release 11.2.0.2.0NLS_LANG: RUSSIAN_RUSSIA.CL8MSWIN1251NLS_CHARACTERSET: AL32UTF8

kod do ładowania plików tekstowych:

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;

Pliki tekstowe to UTF8. Po załadowaniu do bazy danych uruchamiam select i otrzymuję kwadraty zamiast rosyjskich znaków. Proszę pomóż!

questionAnswers(1)

yourAnswerToTheQuestion