SQL Вставка таблицы сервера из perl DBI приводит к усечению до 4000 символов - PullRequest
0 голосов
/ 07 апреля 2020

Я запускаю этот сценарий в CentOS версии 7 с пакетом perl DBI версии 1.640. База данных, в которую он вставляет: SQL Сервер:

    #!/usr/local/bin/perl

    use DBI;

    my $user = "my_user";
    my $pw   = 'my_pass';
    my $dsn  = "dbi:Sybase:server=MYSERVER;database=MY_DB";
    my $dbh  = DBI->connect($dsn,$user,$pw);
    $dbh->{'PrintError'}=1;

    my $command;

    my $rpttxt = "Lorem ipsum dolor sit amet..." [4410 character string length]

    print STDOUT "len:",($len=length $rpttxt),"\n";

    $command = "INSERT INTO testrpt (reporttext) VALUES (?)";
    $dbh->do($command, undef, $rpttxt);

    $dbh->disconnect;

Когда я запускаю сценарий, он сообщает фактическую длину $rpttxt, которая равна 4410. Тем не менее, после вставки, если я запускаю запрос выберите len(reporttext) from testrpt в SQL Server Management Studio, он сообщает о длине 4000. Точно.

Если я выполняю вставку непосредственно на SQL сервере, последующий запрос длины сообщает о длине 4410.

Есть идеи о том, как поставить диагноз?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...