[pgsql-jp: 30253] ODBC でSelectを途中で中止するとエラーになる

Ichikawa-M @ mail.dnp.co.jp Ichikawa-M @ mail.dnp.co.jp
2003年 6月 27日 (金) 17:17:43 JST


こんにちは 市川です。

ODBC経由でDBにアクセス中でSelectで取得した値を抽出中に
途中でやめた場合、その後おこなうロールバックでエラーになります。

環境
クライアント
 OS:XP
 開発アプリ:C++Builder

サーバー
 OS:2000 Server
 DB:PowerGres 試用版

アクセス方法
 OBDC 日本語版

処理の手順としては次のようになります。
(1)トランザクション開始
 SQLExecDirectで"BEGIN TRANSACTION"

(2)TBLにデータをインサート
 SQLExecDirectで"Insert into ・・・・・・"

(3)データ抽出
 SQLExecDirectで"Select * from ・・・・・・"

(4)データの取得
 SQLFetch
 SQLGetData

 データ数分(3)を繰り返すが
 データがエラーの為、途中で中止する。

(5)ロールバックを掛ける
 SQLExecDirectで"ROLLBACK TRANSACTION"

(5)を実行したときに-1が戻り値として帰ってきて
エラーになります。

Selectした値を全件SQLFetchを繰り替えせばエラーは無くなります。

なにかクリアするようなものがあるのでしょうか?

すみませんが、よろしくお願いします。





pgsql-jp メーリングリストの案内