問題は、DBI
MSSQLinsert
サーバーに挿入するときに長い文字列が切り捨てられたままになることです。これが私のコードです:
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文字のテキスト文字列ですが、その他の特殊文字はありません。
ステートメントが実行された後、エラーは発生しませんでしたが、データベースをチェックしたところ、実際に挿入されたものは、通常の英語の単語(特殊文字ではない)の途中にある80番目$value_2
の文字で切り捨てられているようです。
field_2
tovarchar(150)
とのデータ型を変更しようとしましたtext
。$dbh->quote($value_2)
の代わりにも使用しました$value_2
。しかし、彼らは助けにはなりませんでした。
なぜこうなった?私は何をすべきか?どうも!!