2017-10-17 14 views
0

저는 Oracle 데이터베이스에서 데이터를 가져 오는 C# 프로그램을 만들고 있습니다. ODAC가 12.1c 버전으로 업데이트되었고, 12.1 Oracle 데이터베이스에 연결하고 프로젝트에서 Oracle.DataAccess를 참조했습니다.Oracle LN 기능은 ODAC에서 지원되지 않습니까?

내 쿼리 중 하나에서 잘 알려진 "해킹"exp (sum (ln (col)))을 사용하여 일부 값을 곱합니다. 그러나 그것은 ODAC를 통해 데이터베이스에 연결할 때 ln 함수가 지원되지 않는 것으로 보입니다. "잘못된 역할"이라는 오류 메시지가 나타납니다. 동일한 쿼리가 Oracle SQL Developer에서 완벽하게 작동합니다.

뭔가처럼 간단 : 잘

select sum(value) from table where id=1 

작품 반면,

select ln(value) from table where id=1 

가 실패합니다. ln 함수는 단순히 ODAC에서 지원되지 않습니까? 다른 참조를 추가해야합니까? 그렇지 않다면 .NET 프로그램에서 어떻게 작동시킬 수 있습니까? IDE는 VS2015입니다.

답변

0

오해의 소지가있는 오류 메시지로 밝혀졌습니다. 근본적인 문제는 고정밀 오라클 수에서 .NET 소수로 변환하는 것이 었습니다. 그래서 TRUNC (exp (sum (ln (col))), 12)를 사용하여 문제를 해결했습니다.