Oracle의 이기종 서비스를 사용하는 Oracle 데이터베이스의 MS Access 데이터베이스에 대한 데이터베이스 링크가 있습니다. 일부 Access 테이블 열 이름이 Oracle 허용 30자를 초과합니다. 이 % ROWTYPE 구문을 사용하는 경우 트림 또는 열 이름을자를 수있는 방법원격 NON-Oracle 데이터베이스를 사용할 때 PLA/SQL 블록에서 ORA-06553 : PLS-114 : 식별자 'MyMSAccessFieldIsOver30CharsLong'이 너무 길어집니다.
declare
my_record [email protected]%rowtype;
begin
null;
--dbms_output.put_line(my_record."flight_pattern_combination_string");
end;
/
declare
*
ERROR at line 1:
ORA-04052: error occurred when looking up remote object [email protected]
ORA-00600: internal error code, arguments: [kglhfr-bad-free], [], [], [], [], [], [], [], [], [], [], []
ORA-06553: PLS-114: identifier 'flight_pattern_combination_str' too long
있습니까 : 결과적으로, 내 PL/SQL 코드는 오류를 반환? Access 데이터베이스를 수정할 수 없습니다. 레코드 데이터 형식 선언을 사용할 수는 있지만 모든 열 데이터 형식을 pl/sql 블록이나 패키지로 복사해야합니다.
create table test as select * from [email protected]
*
ERROR at line 1:
ORA-00997: illegal use of LONG datatype
PL/SQL 블록에서 % ROWTYPE을 구문을 사용하는 경우 트림 또는 열 이름을자를 수있는 방법이 있나요 : 나는 다음과 같은 사용하려고?