Вы пытались использовать DBMS_LOB.CONVERTTOBLOB@remote (....)
Но вы, вероятно, хотите получить некоторую контрольную сумму удаленного CLOB, чтобы увидеть, получают ли они преобразование набора символов, когда онивставляются / обновляются из любого оригинального внешнего источника.То есть, если набор символов клиента, когда вставка завершена, отличается от набора символов базы данных, проблема, возможно, уже возникла до того, как вы сделали свой выбор.
Отредактировано для добавления.
Самое близкое, что я могу придумать, - это некоторые объекты на другом конце ссылки.Во-первых, функция, которая выполняет преобразование на удаленном конце.Во-вторых, представление, которое представляет «BLOB» представление данных.При этом используется фиктивная таблица (на основе v $ sql, поскольку это был первый CLOB, который я смог найти).Нет причин видеть, что вы не можете просто передать CLOB в качестве параметра функции.
create or replace function ret_blob return blob is
cursor c_1 is
select sql_fulltext, sql_id, length(sql_fulltext)
from v_sql
where sql_id = 'bzmb01whp36wt';
rec_c1 c_1%rowtype;
--
v_blob blob;
v_dest number := 1;
v_src number := 1;
v_lang number := 0;
v_warn number;
--
begin
open c_1;
fetch c_1 into rec_c1;
close c_1;
dbms_lob.createtemporary(v_blob, TRUE);
--
dbms_lob.CONVERTTOBLOB (v_blob, rec_c1.sql_fulltext, DBMS_LOB.LOBMAXSIZE,
v_dest, v_src, DBMS_LOB.DEFAULT_CSID, v_lang, v_warn);
--
dbms_output.put_line(':'||v_warn||'>'||length(v_blob));
--
return v_blob;
end;
/
create view rblob as select ret_blob from dual;
Затем из локальной базы данных сделать
create table t as select ret_blob from rblob@remote