ORA-00911: 비활성 문자 오류 해결 방법
나는 그 일을 실행하려고 했다.SQL INSERT와 함께Toad for oracle:
INSERT INTO GRAT_ACTIVITY
(UUID, IP_ADRESS, SEND_MAIL, DATE_CREA, DATE_UPD, CREATOR, CENTER, ETAT, REQUEST)
VALUES('555-vgd9-pllkd-5513', '172.12.23.130', 'N', SYSDATE, SYSDATE, '1554', 'M18', 'I', 8842);
--COMMIT;
그GRAT_ACTIVITY테이블 구조는 다음과 같습니다.
CREATE TABLE CASH.GRAT_ACTIVITY
(
UUID VARCHAR2(64 BYTE) NOT NULL,
IP_ADRESS VARCHAR2(15 BYTE),
SEND_MAIL VARCHAR2(1 BYTE),
DATE_CREA DATE,
DATE_UPD DATE,
CREATOR VARCHAR2(4 BYTE),
CENTER VARCHAR2(4 BYTE),
ETAT VARCHAR2(1 BYTE),
REQUEST NUMBER
)
에러 메시지:
ORA-00911: 잘못된 문자
원인: 식별자는 문자와 숫자 이외의 ASCII 문자로 시작할 수 없습니다.$#_도 첫 번째 문자 뒤에 사용할 수 있습니다.큰따옴표로 둘러싸인 식별자에는 큰따옴표 이외의 문자를 포함할 수 있습니다.대체 따옴표(q'#...)#'는 공백, 탭 또는 캐리지 리턴을 구분자로 사용할 수 없습니다.기타 모든 컨텍스트에 대해서는 SQL Language Reference Manual을 참조하십시오.
액션: 없음
어떻게 하면 해결할 수 있을까요?
실행 중인 문장이 유효합니다.이 오류는 Toad가 명령어의 일부로 후행 세미콜론을 포함한다는 의미인 것 같습니다. 이 경우 명령어는ORA-00911스테이트먼트의 일부로 포함되는 경우 - 스테이트먼트 자체의 일부가 아닌 클라이언트의 스테이트먼트 구분자이기 때문입니다.
다음 주석으로 표시된 행이 Toad(여기 설명)를 혼란스럽게 하거나, 모든 것을 단일 문장으로 실행하려고 하기 때문일 수 있습니다. 이 경우 run F5script 명령() 대신 run script 명령()F9을 사용할 수 있습니다.
코멘트 아웃 행을 삭제하는 것만으로 문제가 해소됩니다만, 실제 커밋에서도 이 문제가 확인되고 있는 경우는, 문장의 실행에 잘못된 방법을 사용하고 있는 것이 원인이라고 생각할 수 있습니다.
이 관련 질문에 대한 설명에서 Toad가 세미콜론을 구문 분석하는 방법에 대한 자세한 내용은 나와 있지만, 자세한 내용은 Toad에 대해 잘 모릅니다.
쿼리 내부에서 세미콜론(;), 백틱(') 등을 삭제합니다.
세미콜론( ; )을 삭제합니다.
Oracle에서는 DB에서 쿼리를 직접 실행한 경우 세미콜론을 사용할 수도 있고 사용할 수도 없습니다.단, java를 사용하여 oracle 쿼리를 실행할 때는 마지막에 세미콜론을 삭제해야 합니다.
컬럼 또는 테이블 이름에 $, _, # 이외의 특수문자를 사용할 경우 이름을 큰따옴표로 묶어야 합니다.링크
저도 최근에 같은 일을 겪었어요.문서에서 SQL 개발자에게 스크립트를 복사할 때 공백이 있었기 때문입니다.나는 공간을 없애야 했고 대본은 실행되었다.
Oracle SQL을 실행하는 서드파티 프로그램을 사용하고 있는데 이 오류가 발생했습니다.SELECT스테이트먼트, 특수문자가 포함된 코멘트 메모가 몇 개 있습니다.코멘트를 삭제하면 문제가 해결.
저도 같은 문제가 있었는데, 그건 줄의 끝 때문이었어요.나는 다른 서류에서 복사했다.모든 것을 같은 선에 놓고 다시 나누자 효과가 있었다.
이 Oracle 오류를 해결하는 옵션은 다음과 같습니다.
옵션 #1 이 오류는 SQL 문에 특수 문자를 사용하려고 할 때 발생합니다.컬럼 또는 테이블 이름에 $, _, # 이외의 특수문자를 사용할 경우 이름을 큰따옴표로 묶어야 합니다.
옵션 #2 이 오류는 SQL을 다른 프로그램에서 편집기에 붙여넣은 경우 발생할 수 있습니다.경우에 따라서는, 인쇄할 수 없는 문자가 표시되는 일이 있습니다.이 경우 SQL 문을 다시 입력한 후 다시 실행해야 합니다.
옵션 #3 이 오류는 SQL WHERE 절에서 특수 문자가 사용되며 값이 따옴표로 묶이지 않은 경우에 발생합니다.
예를 들어 다음과 같은 SQL 문이 있는 경우:
공급업체에서 *를 선택하십시오. 공급업체 이름 =?;
아마 다른 소스에서 SQL을 복사해서 붙여 넣었을 거예요.뭔가 망친 것 같아요.어떻게 된 건지 이유를 모르겠어요.
사용하고 있는 IDE에 sql을 다시 입력하면 동작합니다.
언급URL : https://stackoverflow.com/questions/27987882/how-can-i-solve-ora-00911-invalid-character-error
'programing' 카테고리의 다른 글
| ng-style로 div의 배경 이미지를 설정하는 방법 (0) | 2023.03.01 |
|---|---|
| Wordpress 테마 커스터마이저 - 사용자가 이동하고 위젯을 구성할 수 있는 영역 추가 (0) | 2023.03.01 |
| VARCHAR2(10 CHAR)와 NVARCHAR2(10)의 차이점 (0) | 2023.03.01 |
| Angular 명령에서 부모 컨트롤러 호출 메서드JS (0) | 2023.03.01 |
| Web Security Configr Adapter를 사용하지 않고 Authentication Manager를 노출하는 Spring Security (0) | 2023.03.01 |