.NET フレームワークから ODBC 経由で Oracle にクエリを発行する際に以下のようなエラーが発生する。
エラー
ERROR [HYC00] [Oracle][ODBC][Ora]オプション機能は実装されていません。
Error [HYC00] SQL call failed. Optional feature not implemented.
発生する状況
例えば「TIMESTAMP (6) WITH LOCAL TIME ZONE DEFAULT localtimestamp」のような型のカラムを含むテーブルに対して ...
SELECT * FROM theTable
...のようなクエリを投げると発生する場合がある。
面倒でも ...
SELECT TO_CHAR(theColumn, 'yyyy/mm/dd hh24:mi:ss.ff3') AS theTsColumn FROM theTable
...と、文字列変換などをすること。
SELECT 文だけでなく、また Oracle に限らず、.NET が「どの型を使えば良いか」が見つけられない場合に発生する可能性がある。テーブル定義を確認し、ややこしそうな型が無いかどうかを確認すること。
エラーメッセージでググってもイマイチ明確な答えが見つからなかったので、かなりハマってしまった。同じような目に遇う人(未来の自分を含む)の一助になりますように。