2013-08-08 2 views
0

6i 양식을 11g (현대화 프로그램의 일부로)로 포팅하기 전에 XML이 포함 된 텍스트 문서를 만들어야하는 새로운 기능을 추가 테스트하고 있습니다. XML로 정보를 노출하기 위해 기본 데이터베이스 (9.2.0.1.0)에 XMLType 뷰를 작성했습니다. 내가XMLType보기 열을 인식하지 못했습니다.

어떤 방법을 (내가 WebUtils 11g의 CLIENT_TEST_IO로 이것을 교체해야합니다 알고) TEXT_IO 내장 된 내부 양식을 사용하려고했다, 여기에 내가 쓴 WHEN-BUTTON_PRESSED 트리거 코드이지만, 컴파일되지 않습니다.

Win7 32 비트 (VMWare 가상)에서 실행되는 Forms Builder 11.1.2.0.0.

no column 'SYS_NC_ROWINFO$' in table 

문을 실행 :

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; 

그것은 오류가 제공 SQLPLUS에서

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

(11.1.0.7.0)를, 잘 작동하고 행을 반환합니다.

답변

0

해결되었습니다. 보기를 다음과 같이 변경했습니다.

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

FROM v;

과의 버튼을 눌러 코드 라인 ..

CURSOR C IS SELECT X.RESULT.GETSTRINGVAL() FROM SS_CDRS_EXPORT_COMP_XML X; 
관련 문제