繁体   English   中英

无法识别XMLType视图列

[英]XMLType View column not recognised

在将我的6i表单移植到11g(作为现代化程序的一部分)之前,我还要测试添加一项新功能,这将需要创建一个包含XML的文本文档。 我已经在基础数据库(9.2.0.1.0)中创建了XMLType视图,以将信息公开为XML。 我试图使用TEXT_IO内置的内部表单(我知道我需要用11g中的WebUtils CLIENT_TEST_IO替换它)

无论如何,这是我编写的WHEN-BUTTON_PRESSED触发代码,但不会编译。

在Win7 32位(VMWare虚拟)上运行的Forms Builder 11.1.2.0.0。

BEGIN
 DECLARE
 IN_FILE TEXT_IO.FILE_TYPE;
 XMLDOC VARCHAR2(4000);
 CURSOR C IS SELECT X.SYS_NC_ROWINFO$.GETSTRINGVAL() FROM SS_CDRS_EXPORT_COMP_XML2 X;
 BEGIN
  IN_FILE := TEXT_IO.FOPEN('C:\CDRSCOMP.XML','W'); 
  FOR C1 IN C LOOP
   TEXT_IO.PUT_LINE(IN_FILE, C1.OBJECT_VALUE.GETSTRINGVAL());
   NULL;
  END LOOP;
  TEXT_IO.FCLOSE(IN_FILE);
  EXCEPTION
  WHEN Others THEN
   NULL;
  TEXT_IO.FCLOSE(IN_FILE);
 END;
END;

它给出了错误:

no column 'SYS_NC_ROWINFO$' in table

运行语句:

SELECT X.SYS_NC_ROWINFO$.GETSTRINGVAL() FROM SS_CDRS_EXPORT_COMP_XML2 X;

在SQLPlus(11.1.0.7.0)中,它可以正常工作并返回行。

解决。 我将视图更改为

create or replace VIEW SS_CDRS_EXPORT_COMP_XML AS
select 
XMLELEMENT("CM_DATA",
 XMLFOREST(TRIM(V.COMPNAME) AS COMPANYNAME, 
 ....
 ))
AS "RESULT"

从v;

然后按钮中的行将代码按到..

CURSOR C IS SELECT X.RESULT.GETSTRINGVAL() FROM SS_CDRS_EXPORT_COMP_XML X;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM