我正在使用libodbc++
C++ 的 ODBC 包装器,其设计类似于 JDBC。我有一个准备好的声明"INSERT INTO t1 (col1) VALUES (?)"
,其中t1.col1
定义为VARCHAR(500)
.
当我调用时statement->setString(1, s)
, 的值s
被截断为255
。我怀疑 libodbc++ 库,但由于我对 ODBC 不是很熟悉,我想确保包装器不只是暴露底层 ODBC 的限制。ODBC API 参考太复杂了,无法快速浏览,坦率地说我真的不想这样做,所以请原谅我问了一个基本问题。
注意:通过同一个库的未准备和未参数化的insert
语句会插入一个 long 值 ok,因此这不是 MySql DB 的问题。