Проблема в том, что DBI
insert
оставляет усеченную длинную строку при вставке в сервер MS SQL. Вот мои коды:
my $insert = $dbh->prepare("INSERT INTO my_table (field_1, field_2) values (?, ?)");
$insert->execute($value_1, $value_2);
, где field_2
имеет тип данных varchar(100)
, а $value_2
- текстовая строка из 90 символов с пробелами, но без других специальных символов.
После выполнения оператора без возникновения ошибки я проверил базу данных и, по-видимому, фактический вставленный $value_2
усекается до символа 80th , который находится в середине обычного английского слова ( т.е. не специальный символ).
Я пытался изменить тип данных field_2
на varchar(150)
и text
. Я также использовал $dbh->quote($value_2)
вместо $value_2
. Но они не помогли.
Почему это происходит? Что я должен делать? Thx !!