問題点
パラメーターの実行時に、「Operands of = cannot be literal NULL 」というエラーが出て失敗する。
原因
データソースで定義されているSQLにパラメーターが含まれているときに、そのパラメーターの値を何も選択しないで実行すると、そのパラメーターにNULLの値がセットされるため、このエラーが発生する。
解決方法
パラメーターの値を選択しない限り、この問題は発生しません。
この問題を未然に防ぐためには、以下のいずれかの設定を行ってください。
-
パラメーターの設定で、「選択なしのサポート」のオプションを無効にする。
- これにより、必ず値が選択されるようになります。
- これにより、必ず値が選択されるようになります。
-
パラメーターの設定で、「選択なしのサポート」のオプションを、「空の値を返す」ではなく「全ての値を返す」を選択する。
- これにより、NULLではなく適切な値がSQLに渡されるようになります。
- これにより、NULLではなく適切な値がSQLに渡されるようになります。
これらの設定を適用することで、エラーを回避することができます。