3

データベース層を OCI for Oracle 7 から OCCI for Oracle 12c にアップグレードしています。OCI (7) では、ステートメント内のとの位置に関係なく、ステートメント内で値とSELECT * FROM TestTable WHERE name = :2 and number = :1値をバインドできるように、パラメーターを番号でバインドすることができました。:1:2 :1:2

古いコードの上位層によって生成されたステートメントは、多くの場合 の形式SELECT * FROM TestTable WHERE name = :2 and number = :1であり、パラメーターにバインドされるために後で指定される値は、パラメーターの位置ではなく、パラメーターの番号によって番号順にリストで提供されます。 .

OCI 12c では、位置だけでなく名前でもパラメータをバインドできますが (ただし、明らかに番号ではバインドできません)、OCCI (12c) では、位置によってのみバインドできるようです。値がバインドされるパラメーターの名前/番号しか知らないため、これは明らかに問題を引き起こします。

だから、私の質問は次のとおりです。SQLステートメントを解析して名前を位置にマップする以外に、OCCIで名前または番号でバインドする方法はありますか? 名前でバインドするOCIの可能性を利用するものはありますか?

4

0 に答える 0