SQLBindParameter
を介して入力できるようにドライバーを準備するために使用しようとしていますSQLPutData
。データベースのフィールドはTEXT
フィールドです。私の関数は、MS の例に基づいて作成されています:
http://msdn.microsoft.com/en-us/library/ms713824(VS.85).aspx。
環境をセットアップし、接続を確立し、ステートメントを正常に準備しましたが、SQLBindParam
(以下のコードを使用して) 呼び出すと、一貫してレポートに失敗します:[Microsoft][SQL Native Client]Invalid precision value
int col_num = 1;
SQLINTEGER length = very_long_string.length( );
retcode = SQLBindParameter( StatementHandle,
col_num,
SQL_PARAM_INPUT,
SQL_C_BINARY,
SQL_LONGVARBINARY,
NULL,
NULL,
(SQLPOINTER) col_num,
NULL,
&length );
SQL_NEED_LONG_DATA_LEN
上記は、使用中のドライバーが の情報タイプに「N」を返すことに依存していSQLGetInfo
ます。私のドライバーは「Y」を返します。を使用できるようにバインドするにはどうすればよいSQLPutData
ですか?