パラメーター実行時の「Operands of = cannot be literal NULL」エラーの対処方法

問題点

パラメーターの実行時に、「Operands of = cannot be literal NULL 」というエラーが出て失敗する。

原因

データソースで定義されているSQLにパラメーターが含まれているときに、そのパラメーターの値を何も選択しないで実行すると、そのパラメーターにNULLの値がセットされるため、このエラーが発生する。

解決方法

パラメーターの値を選択しない限り、この問題は発生しません。

この問題を未然に防ぐためには、以下のいずれかの設定を行ってください。

  • パラメーターの設定で、「選択なしのサポート」のオプションを無効にする。

    • これにより、必ず値が選択されるようになります。
      image
  • パラメーターの設定で、「選択なしのサポート」のオプションを、「空の値を返す」ではなく「全ての値を返す」を選択する。

    • これにより、NULLではなく適切な値がSQLに渡されるようになります。
      image

これらの設定を適用することで、エラーを回避することができます。