[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 メーリングリストの案内