无法执行动态sql错误:此操作必须将global_names参数设置为TRUE

时间:2016-11-26 09:15:13

标签: plsql dynamic-sql

我有一个通过db链接访问blob列的远程表。我想从我的本地表中插入一个blob到远程表blob列。我正在执行动态sql,如下所示

declare
    theblob blob;
    theclob clob;
    thenumber number;
begin
   select base64encode2(image) into theclob from per_images where image_id = 113077;
   execute immediate 'insert into image@APPSERP2ERPAPPS(column1,column2,column3) values((select null from dual),(select base64encode2(image) from per_images where image_id = 113077),(select ceil(5.4) from dual))';
   commit; 
end;

当我运行sql我得 ORA-02069时:此操作必须将global_names参数设置为TRUE

如果我ALTER SESSION SET GLOBAL_NAMES = true,那么在插入blob时我得到数据库链接APPSERP2ERPAPPS.CSN.EDU.PK连接到TEST.CSN.EDU.PK 错误。

请告诉我如何将blob插入远程表blob列。

由于

1 个答案:

答案 0 :(得分:1)

为了能够在dblink上插入,插入句子必须与此格式匹配

Insert into table2@dblink select * from Table1

here更多信息。