続) 何度だって引っかかるORACLEのエラー・・・。ORA-01008:バインドされていない変数があります。

投稿日:

この土日は休日出勤でした・・・

そして、昨日・・・新しい現象が発生しました。

以前書いた記事で、

  • パラメータ自体が不足
  • SQL中のパラメータ名と、ソース上のパラメータ名が違う
  • 入力したパラメータが正しくない(数値項目にテキストetc…)

こういった原因は以前調べた時に認識していたので、まずはそこから調べたものの、どれにも該当しない・・・

ただ、エラー自体は「ORA-01008:バインドされていない変数があります。」が相変わらず返ってくる。

で、結論。

パラメータの不足が原因でした

ただ不足と言いつつも、SQLDeveloperとかで実行する分には全くエラーにならないので原因にたどり着くまでにすごく時間がかかりました。

SELECT
 A.param AS param
 A.use_flg AS use_flg
 :
 :
FROM
 table1 A
WHERE
 A.param = :param1
 OR (
   use_flg = 1 AND A.param <> :.param1
   )

こんな感じで同じパラメータを2回使用している場合、

command.Parameters.Add(":param1", (string)whereTable["param1"]);
command.Parameters.Add(":param1", (string)whereTable["param1"]);

このように、パラメータを使用している箇所の分だけ設定してやる必要がありました。

こんなん・・・気付かんて。







-C#, ORACLE, 開発メモ
-, ,

関連記事

C#で計算時の切り上げ・切捨て・四捨五入を行う方法

普段使わないと馴染みが薄いですが、日常で行う計算にも切り上げ・切捨て・四捨五入は割りと使われていたりします。 今回はそんな計算のお話。 例えば、クルマ購入時の端数の切捨てとかね。 「千円の位を負けてく …

Oracleで複数レコードを更新する方法

UPDATE文で、複数のレコードを一回のトランザクション内で更新する必要に迫られました。 基本的に、今まで使ってきたUPDATE文では、 UPDATE tableA set COL1 = 1 ,COL …

[Xcode]Assets.xcassetsへ登録した画像が、MediaLibraryに表示されない問題の解決方法。

再起動。 以上。   Xcodeを触り始めて、3日目。 この部分よなぁ・・・ AutoLayout機能でこの中に自動で収まるとはいえ、すべてのオブジェクトがAutoLayoutの対象ではない …

[ORACLE]IMPコマンドで、複数テーブルをインポートする

OracleでIMPコマンドでdumpファイルをインポートする時に、特定のテーブルだけインポートしたい時ってある。 後は、複数のテーブルを纏めてインポートする方法を説明します。 Oracleを使ってる …

[VMWare]仮想マシンの容量を最適化して圧縮する

Vmwareを使っているわけですが、長い間使っているとどうしてもゴミというか仮想マシンのフォルダ自体が肥大化してきます。 かといって、フォルダ内のファイルを適当に削除する訳にもいかないんですよねー。 …


カテゴリー