Я использую оболочку libodbc++
ODBC для C++, разработанную аналогично JDBC. У меня есть подготовленный оператор "INSERT INTO t1 (col1) VALUES (?)"
, где t1.col1
определяется как VARCHAR(500)
.
Когда я вызываю statement->setString(1, s)
, значение s
усекается до 255
. Я подозреваю библиотеку libodbc++, но, поскольку я не очень хорошо знаком с ODBC, я хотел бы быть уверенным, что оболочка не просто выставляет ограничение базового ODBC. Справочник по API ODBC слишком сложен, чтобы его можно было быстро просмотреть, и, честно говоря, я действительно не хочу этого делать, поэтому извините меня за простой вопрос.
ПРИМЕЧАНИЕ. Неподготовленный и непараметризованный оператор insert
через ту же библиотеку вставляет длинное значение ok, поэтому это не проблема базы данных MySql.