본문 바로가기

Dev::DB/Oracle

ODP.NET 에서 Parameter 사용할 때....

ODP.NET 을 사용할 때, 조금만 해보다 보면 뭔가 이상한 걸 느낄 수 있다.


쿼리에 대해서 이상한 결과가 나온다거나 무슨 데이터 타입이 맞지 않는다는 에러나...등등....


그래서 TOAD 나 ADO.NET 으로 해서 해보면 아주 정확하게 원하는 결과가 나온다.



조금만 보다 보면 파라매터를 사용하는데 뭔가....ㅡㅡ;;;


파라매터가 지정한 이름으로 매칭되는 것이 아니라...삽입된 순서에 따라서 매칭된다는 사실이다.


OLE 처럼 ? 로 파라매터를 쓰는것도 아닌데..순서라니...ㅡㅡ;


찾아보니...기본이 순서로 지정하고 별도의 설정을 했을 때 이름으로 매칭이 된다고 한다.


OracleCommand 에 보면 BindByName 이라는 프로퍼티를 true 로 하면 원하는대로 동작된다.


왜 대체...순서를 기본으로 해놓은 것인지....


참고 : 

Gotcha #1161: Using Named Parameters with Oracle ODP.NET


'Dev::DB > Oracle' 카테고리의 다른 글

분할 조회 쿼리  (0) 2013.12.03
START WITH ~ CONNECT BY ~ 에서 말단 Leaf  (0) 2012.07.24
달력 SQL  (0) 2011.03.17
Oracle 계층적 트리구조 START WITH ~ CONNECT BY ~ ORDER SIBLINGS BY  (0) 2010.01.18
ROW 를 COL 으로 변환  (0) 2009.07.30