get data
次の構造のテーブルから取得しようとすると、次の例外に直面します。
ERROR:-528 メッセージ: [Informix .NET プロバイダ][Informix]最大出力行サイズ (32767) を超えました。
CREATE TABLE dr66req
(
req_ser SERIAL PRIMARY KEY,
req_desc LVarChar(32739),
);
このステートメントが選択する合計バイト数が、データベース サーバーとプログラムの間で受け渡しできる最大バイト数を超えています。
フォローしてみてください-
1) 選択した列が意図したものであることを確認します。
2) 非常に幅の広い文字列に誤って名前を付けていないか、部分文字列の指定を怠っていないか、または長すぎる部分文字列を指定していないかを確認してください。選択が必要な場合は、この SELECT ステートメントを 2 つ以上のステートメントに書き直して、それぞれが一部のフィールドのみを選択するようにします。
3) 複数のテーブルの結合である場合は、必要なすべてのデータを INTO TEMP に選択するのが最適です。次に、一時テーブルの個々の列を選択します。
4)プログラム中のカーソルによるフェッチの場合は、以下のようにプログラムを修正してください。まず、カーソルを変更して、目的の行の ROWID のみを選択します。
次に、一連の SELECT ステートメントで FETCH ステートメントを拡張します。各ステートメントは、1 つまたはいくつかの列を選択します。WHERE ROWID = 保存された行 ID。