[pgsql-jp: 35507] ODBC経由でInsertエラー
    石倉 隆
    ishi @ gic.intec.co.jp
       
    2005年 6月 16日 (木) 15:21:55 JST
    
    
  
石倉といいます。
Visual C++ から ODBC 経由で Postgres にデータをInsertしようと
しています。
MFCのODBCコンシューマークラスを用いてデータをセットし
Updateを行うと「ハンドルされていない例外が発生しました」と
エラーが表示されます。そのまま「継続」すると結局データは
Insertされますが原因がわかりません。
調査してみたところ、テーブルの項目名をちょっと変えると
正常に動作するみたいです。
エラーが発生したテーブル
CREATE TABLE TEST_INSERT_ER (
    VC_ROUND            VARCHAR(3)  NOT NULL,
    VC_ASSAY            VARCHAR(4)  NOT NULL,
    VC_LONG_NM_COL1     VARCHAR(20) NOT NULL,
    VC_LONG_END         VARCHAR(20) NOT NULL,
    VC_END              VARCHAR(20) NOT NULL,
    IN_STEP             INTEGER     NOT NULL DEFAULT -1,
    IN_EXEC_FIN_FLAG    INTEGER     NOT NULL DEFAULT 0,
CONSTRAINT PK_TEST_INSERT_ER PRIMARY KEY (VC_ROUND, VC_ASSAY)
);
なお、最後の項目名を1文字削って以下のようにすると正常に
Insertできました。
    IN_EXEC_FIN_FLAG    INTEGER     NOT NULL DEFAULT 0,
         ↓
    IN_EXEC_FIN_FLG     INTEGER     NOT NULL DEFAULT 0,
psqlでInsertするとどちらのテーブル構造でも正常にInsertできる
ので正確にはPostgresの問題ではないのかもしれませんが、ODBCの
制限など情報などありましたら教えて頂けないでしょうか。
環境
DataBase : Postgres 7.3.4 on RedHat Linux 9
ClientOS : WindowsXP SP2
開発環境 : Visual Studio .NET 2003 Visual C++
ODBCドライバ : psqlodbc-07_03_0100.zip および 
               psqlodbc-07_03_0200.zip
以上
    
    
pgsql-jp メーリングリストの案内