programing

ORA-01792: 테이블 또는 뷰의 최대 열 수는 1000개입니다.

itmemos 2023. 10. 24. 20:11
반응형

ORA-01792: 테이블 또는 뷰의 최대 열 수는 1000개입니다.

저는 오라클 db를 사용하는 자바 웹 앱을 가지고 있습니다.웹 앱은 동면을 사용합니다.서버에 있는 오라클 인스턴스와 로컬 가상 리눅스 머신에 있는 오라클 인스턴스가 2개 있습니다.

로컬 오라클 인스턴스에 연결하면 다음과 같은 메시지가 표시됩니다.

ORA-01792: 테이블 또는 뷰의 최대 열 수는 1000개입니다.

예외.그러나 서버에 있는 Oracle에 연결하면 해당 예외가 발생하지 않습니다.저는 똑같은 행동을 하고 있고 덤프도 똑같습니다.그래서 오라클의 문제가 있는 것 같아요. 아마 어떤 구성이 다른 것 같아요.

오라클 서버 간의 차이점이 무엇인지 누가 말해줄 수 있습니까?

업데이트. 스택 트레이스의 일부 부품

Caused by: org.hibernate.exception.SQLGrammarException: could not initialize a collection:
Caused by: java.sql.SQLSyntaxErrorException: ORA-01792: maximum number of columns in a table or view is 1000

ORA-01792: 테이블 또는 뷰의 최대 열 수는 1000개입니다.

이 제한은 테이블보기에만 적용되는 것이 아니라 오라클이 하위 쿼리를 실행하는 동안 생성하는 임시 인라인 뷰 및 임시 내부 메모리 테이블에도 적용됩니다.

예를들면,

Oracle은 병합 선택 항목을 기반으로 임시 인라인 뷰를 생성하므로 이 임시 인라인 뷰에도 동일한 제한이 적용됩니다.따라서 하위 선택 또는 하위 쿼리의 열 수가 다음 제한을 초과하지 않도록 해야 합니다.1000.

원인: org.hibernate.예외.SQL 문법예외: 컬렉션을 초기화할 수 없습니다.

위 오류는 허용되는 열의 개수 제한을 초과하는 컬렉션을 생성하려고 함을 나타냅니다. 즉, 총 열의 개수가 초과합니다.1000.

이 예외를 방지하고 이 제한의 검사를 건너뛰려면 다음과 같이 _fix_control 매개 변수를 설정할 수 있습니다.

ALTER 세션 세트 "_fix_control"='17376322:꺼짐'

아니면

ALTER SYSTEM SET "_fix_control"='17376322:꺼짐'

(Oracle 12.1.0.2 Standard 및 Enterprise와 함께 작동)

언급URL : https://stackoverflow.com/questions/31557258/ora-01792-maximum-number-of-columns-in-a-table-or-view-is-1000

반응형