달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

오라클 쿼리 IN 절에

사용자 SPLIT 함수를 통해 특정 문자열을 잘라서 질의하는 경우

 
COLLECTION ITERATOR PICKLER FETCH 가 이상하게 풀리는 경우가 있다.

해당 힌트의  CARDINALITY 와 BYTES 가 비정상적으로 커지는 경우인데.

하위에 기입된 힌트와 WHERE ROWNUM > 0 조건을 기술함으로서,

비용을 줄일 수 있다.

 
A.CSTCD IN

(

SELECT /*+ CARDINALITY(S, 1) */ COLUMN_VALUE FROM TABLE(SPLIT(P_CSTCD, ',')) S

 WHERE ROWNUM > 0

)

 

 

'ORACLE 이야기' 카테고리의 다른 글

Oracle LISTAGG  (0) 2015.12.11
Oracle DB LINK  (0) 2015.12.11
Oracle Read to Collection Data  (0) 2015.01.22
Oracle Danamic Pivot  (0) 2015.01.22
Oracle Unpivot  (0) 2015.01.22
Posted by 은하비류연
|

오늘 -_-ㅋ 어딘가 면접을 보고 왔는데,

 

Secure Coding에 관한 질문을 받았다.

 

구체적인 질문은 SQL Injection 공격에 대한 방어방법이었는데,

 

질문을 받자 마자 생각나는 대응책은 허용되지 않은 문자에 대한 필터링 및 치환 방법이었는데,

 

가장 간단하고 확실한 방법이 위의 내용이라고 알고 있었는데 뭔가 미진했나보다 -_-ㅋ;

 

원칙적으로는 DB에 일반 문자열로 구성된 쿼리를 실행하면 안되는 것이고,

입력값에 대해 유효성을 검증해야 하며,

저장 프로시저를 통해 매개변수에 대해 강력한 형식을 지정하면 되는 것이다.

 

일단 개발 취향상 쿼리 전반에 걸친 작업은 모두 프로시저를 통해 작업해와서 그런지

마지막 내용이 생각이 안나드라 오메~

 

물론 동적쿼리를 사용하는 경우는 Using 문을 통해 입력되는 매개변수에 제한을 걸어줘야 한다는 거

 

여튼 오늘 면접 죽 쑨 느낌 ㅠ_ㅠ 히잉~

 

 

 

 

 

Posted by 은하비류연
|

 

PDF_V2.zip

 

5년전 쯤 PDF에 이미지 및 텍스트를 삽입 해야할 일이 생겨서 샘플 소스를 작성함.

 

소스 첨부함.

 

좀 더 자세한 내용을 원한다면 "iTextSharp"을 구글에 검색하길 바람.

 

꽤 오래된 소스라 -_-ㅋ 뒷일은 책임지지 않음. 헤헹~

Posted by 은하비류연
|