2017-10-17 9 views
0

私は、Oracleデータベースからデータを取得するC#プログラムに取り組んでいます。 ODACがインストールされています(バージョン12.2cに更新されました)。12.1 Oracleデータベースに接続し、プロジェクトのOracle.DataAccessを参照しています。Oracle LN機能はODACではサポートされていませんか?

よくある「hack」exp sum(ln(col)))を使用していくつかの値を乗算します。しかし、私はODAC経由でデータベースに接続すると、ln-functionはサポートされていないようです。 「無効な役割」と言うエラーメッセージが表示されます。同じ問合せが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

誤解を招くようなエラーメッセージになりました。根本的な問題は、高精度のOracle番号から.NET 10進数への変換でした。したがって、TRUNC(exp(sum(ln(col)))を使用して、12)が問題を修正しました。

関連する問題