我在oracle里面的执行语句如下:
declare
  mdCharRef ref metadatasys.CHARSETCODETYPE;
begin
  select ref(csc) into mdCharRef from "METADATASYS"."CHARSETCODE" csc where name='Unicode字符集';
  insert into metadatasys.MdRefInfoTab (mdChar) values(mdCharRef);  commit;
end;
注:1.mdChar的声明是:mdChar ref CHARSETCODETYPE
        2. CHARSETCODE是普通的关系表
        3. 表MdRefInfoTab含有REF类型的字段mdChar
我现在想在JBuilder中执行类似的语句(不使用存储过程):
……
java.sql.Ref   TempRef;
String    sql;
str=” Unicode字符集”;
String tempstr="select ref(csc) from \"METADATASYS\".\"CHARSETCODE\" csc where name='"+str+"'";
rs = stmt.executeQuery(tempstr);
rs.next();
TempRef = rs.getRef(1);
sql="insert into metadatasys.MdRefInfoTab (mdChar) values("+TempRef+")";
stmt.executeUpdate(sql);
conn.commit();
执行后得到的TempRef值是:oracle.sql.REF@e8f64846,并不是直接在oracle中对应的Ref变量mdCharRef的数值形式:00002202086B2EDA3EE8F64846A3B99A7E98E01CA96BDE7271D82E405E91D87AB03843A42D
并且执行后产生如下错误:ORA-04052: 在查找远程对象 [email protected] 时出错
ORA-00604: 递归 SQL 层 1 出现错误
ORA-02019: 未找到远程数据库的连接说明
难道此错误与oracle的一些配置有关?或者某些功能或者服务没启动?
请大侠帮忙解答,多谢!!!!!!!!!

解决方案 »

  1.   

    ORA-04052 error occurred when looking up remote object stringstringstringstringstringCause: An error has occurred when trying to look up a remote object.Action: Fix the error. Make sure the remote database system has run KGLR.SQL to create necessary views used for querying/looking up objects stored in the database.
      

  2.   

    我在sql*plus worksheet里面执行了 KGLR.SQL ,可还是老毛病啊,继续请教!!!