ODP.NETの【ORA-01745: ホスト/バインド変数名が無効です】に対処
SQLにパラメータ変数をバインドしようとした所、
【ORA-01745: ホスト/バインド変数名が無効です】が発生しました。
理由が分からず混乱しましたが、
原因はとてもシンプルなものでした。
原因
oracleの予約語を指定したのが原因でした。
oracleCommand.parameters.Add(new OracleParameters(":date","hoge"));
oracleCommand.parameters.Add(new OracleParameters(":number",24));
ソースの該当部が上記です。
とりあえず上記のnumberとdateはoracle予約語なので変数名に指定できません。
変数名を変更した所、正常に動作しました。
oracle予約語かどうか調べたい時は下記サイトを閲覧して確認しましょう。
oracle予約語一覧
まとめ
単純なことですが、原因解明にそれなりの時間を浪費しました。
もったいない……。
ディスカッション
コメント一覧
まだ、コメントがありません