私は挿入ステートメントを持っています:
INSERT INTO billData (
tmStart, tsDuration, eCallDir, ...
) VALUES (
$1, -- tmStart
$2, -- tsDuration
$3, -- eCallDir
...
);
私はSQLPrepare
それをコンパイルし、 でパラメータをバインドしSQLBindParameter
、 で実行しSQLExecute
ます。
すべての手順の後、エラー コード42P02
(パラメータ $1 はありません) が返されました。
ところで: 私は MS SQL Server と MySQL にもほぼ同じコードを使用しており、これら 2 つの DB は非常にうまく機能しているため、私のコードは正しいと思います。
PS: PostgreSQL は v9.1 です。psqlODBC は v9.01.0100-1 です。
================================================== ==========
更新:
そして、次のエラーが発生しました: 42601
(「,」またはその付近の構文エラー)「?」を使用している場合 パラメーターのプレースホルダーとして:
INSERT INTO billData (
tmStart, tsDuration, eCallDir, ...
) VALUES (
?, -- tmStart
?, -- tsDuration
?, -- eCallDir
...
);
================================================== ==========
更新:
jwrからの提案によるとUseServerSidePrepare=1
、ODBC接続文字列にオプションを追加すると機能します。
たくさんの感謝 :-)