sql >> データベース >  >> RDS >> Oracle

ora-01406OCIを使用して値をフェッチするときにエラーが発生しました

    質問に記載されているバグは10.2.0.3で修正されており、エラーはそれ以前のOracleバージョンでのみ発生します。編集:同じ問題がOracle10.2.0.4でも見られました。まだ調査中です

    Edit2:OCIでCHAR / VARCHAR列のカーソルを定義する場合(この目的ではラッパーを使用します)、列にバインドされる文字列のサイズは、列の最大幅より少なくとも1つ大きくする必要があります。

    例えば列名:U_NAMEタイプ:VARCHAR(30)

    1.char zName [30]; pCursor-> Define(zName、3O); //列の値が30文字の場合、これはクラッシュします

    2.char zName [31]; pCursor-> Define(zName、3O); //列の値が30文字の場合、これはクラッシュします

    3.char zName [31]; pCursor-> Define(zName、31); // 正しい。どの値でもクラッシュしません



    1. MySqlテーブルデータを配列に選択する

    2. SQLクエリでの配列の使用

    3. PHPのPassword_verify

    4. mysqlストアドプロシージャの結果セットを別のストアドプロシージャで使用する