首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ODAC不支持Oracle LN-function?

ODAC不支持Oracle LN-function?
EN

Stack Overflow用户
提问于 2017-10-18 04:31:28
回答 1查看 31关注 0票数 0

我正在开发一个从C#数据库中提取数据的Oracle程序。我安装了ODAC (刚刚更新到版本12.2c),连接到12.1Oracle数据库并在我的项目中引用Oracle.DataAccess

在我的一个查询中,我想使用众所周知的"hack“exp(sum(ln(Col)将一些值相乘。但是,当我通过ODAC连接数据库时,似乎不支持ln函数。我收到一条错误消息,提示“角色无效”。同样的查询在Oracle SQL Developer中也能完美地工作。

像这样简单的东西:

代码语言:javascript
复制
select ln(value) from table where id=1

将会失败,而

代码语言:javascript
复制
select sum(value) from table where id=1

工作得很好。难道在ODAC中根本不支持ln-function吗?我需要添加另一个引用吗?如果没有,我如何让它在.NET程序中工作?IDE是VS2015。

EN

回答 1

Stack Overflow用户

发布于 2017-10-18 14:30:58

事实证明,这只是一个相当误导人的错误消息。根本问题是从高精度Oracle数字到.NET小数的转换。所以使用TRUNC(exp(sum(ln(Col)),12)解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46798711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档