쿼리를 작성하면서 별칭(AS)을 사용할때 공백, 특수문자, 한글등을 사용할때 큰따옴표("")를 이용하게 된다.
이렇게 작성한 쿼리를 Splunk의 dbxquery를 이용하여 쿼리를 전달하면 잘될때도 있고 안될때도 있다.
필자의 경우 AS에 괄호()를 사용할때 ORA-00923 에러를 리턴했고 공백이 있어도 에러를 리턴했다.
원인 확인을 위해 패킷 분석을 시도했고 원인은 아래와 같다.
1. 에러를 리턴하는 경우
- Splunk SPL : "DATA(TEST)" -> 큰따옴표 처리하여 전송했지만 패킷으로 보면 빠져서 전송됨
- 패킷 내용 : 쿼리에 큰따옴표가 제거되어 패킷으로 전송됨
2. 정상으로 작동하는 경우 : 큰따옴표 Escape(\) 처리
- Splunk SPL : \"DATA(TEST)\" -> 큰따옴표를 Escape 처리해서 전송하면 정상적으로 처리됨
- 패킷 내용 : 쿼리에 큰따옴표가 포함되어 패킷으로 전송됨
Splunk를 이용하여 dbxquery를 자주 이용하시는 분들께 도움이 되었기를...
댓글 영역