libodbc++
JDBCと同様に設計されたC++用のODBCラッパーを使用しています。プリペアドステートメントがあります。"INSERT INTO t1 (col1) VALUES (?)"
ここで、t1.col1
はとして定義されていVARCHAR(500)
ます。
を呼び出すとstatement->setString(1, s)
、の値s
はに切り捨てられ255
ます。libodbc ++ライブラリが疑われますが、ODBCにあまり詳しくないので、ラッパーが基盤となるODBCの制限を公開するだけではないことを確認したいと思います。ODBC APIリファレンスは複雑すぎて、すばやく簡単に説明することはできません。率直に言って、それはしたくないので、基本的な質問をすることをお許しください。
注:insert
同じライブラリを介したプリペアドおよびパラメーター化されていないステートメントは、長い値okを挿入するため、MySqlDBの問題ではありません。