Plsql 从sql server插入clob数据类型

Plsql 从sql server插入clob数据类型,plsql,clob,Plsql,Clob,我有下面的代码,可以使用DBlink将clob数据类型从SQL server插入到Oracle数据库。 我目前面临的错误是: ORA-06502:PL/SQL:数字或值错误:指定的LOB定位器无效:ORA-22275 ORA-06512:SYS.DBMS_LOB,第639行。你能帮我一下代码有什么问题吗 declare v_REGION_CODE CLOB ; l_clob CLOB; c integer; nr integer; BEGIN DBMS_LOB.CREATET

我有下面的代码,可以使用DBlink将clob数据类型从SQL server插入到Oracle数据库。 我目前面临的错误是: ORA-06502:PL/SQL:数字或值错误:指定的LOB定位器无效:ORA-22275 ORA-06512:SYS.DBMS_LOB,第639行。你能帮我一下代码有什么问题吗

 declare
  v_REGION_CODE CLOB  ; 
 l_clob CLOB;
 c integer;
 nr integer;
 BEGIN
 DBMS_LOB.CREATETEMPORARY(l_clob,true);
EXECUTE IMMEDIATE 'TRUNCATE TABLE SVQ_DI_XLS_COUNTRY_POP_DETAILS';
c := DBMS_HS_PASSTHROUGH.OPEN_CURSOR@PPRLEG;
DBMS_HS_PASSTHROUGH.PARSE@PPRLEG(c,' SELECT "REGION CODE" FROM TBL_SVQ_DI_XLS_COUNTRY_POP_DETAILS');
LOOP
  nr := DBMS_HS_PASSTHROUGH.FETCH_ROW@PPRLEG(c);
  EXIT
WHEN nr = 0;

 DBMS_HS_PASSTHROUGH.GET_VALUE@PPRLEG(c,    1   ,   v_REGION_CODE ) ;

FOR i IN 1..10
LOOP
  INSERT INTO SVQ_DI_XLS_COUNTRY_POP_DETAILS (REGION_CODE) VALUES    (empty_clob()) --Insert an "empty clob" (not insert null)
RETURNING REGION_CODE INTO l_clob;

  FOR i IN 1..100
LOOP
  dbms_lob.append(l_clob, v_REGION_CODE);
  --dbms_lob.append(l_clob, 'string chunk to be inserted (maximum 4000     characters at a time)');
END LOOP;
END LOOP;`enter code here`
END LOOP;
 DBMS_HS_PASSTHROUGH.CLOSE_CURSOR@PPRLEG(c);
COMMIT;
END;

您没有说明数据库版本。错误应显示代码中停止执行的行。Oracle DB版本为12 c,SQL server为SQL Management Studio 2005。错误位于此行dbms_lob.append(l_clob,v_REGION_code)。我的目标是将SQL server中的clob数据插入到Oracle数据库中,该数据库也是clob数据类型。我认为,如果v_region_代码为空,则可以在dbms_lob.append中获得该错误,在这种情况下,不需要追加。请参阅的异常部分。