在将我的 6i 表单移植到 11g(作为现代化计划的一部分)之前,我还在测试添加一个新功能,这需要创建一个包含 XML 的文本文档。我在底层数据库 (9.2.0.1.0) 中创建了一个 XMLType 视图,以将信息公开为 XML。我试图使用TEXT_IO
内置的内部表单(我知道我需要CLIENT_TEST_IO
在 11g 中用 WebUtils 替换它)
无论如何,这是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) 中,它工作正常并返回行。