Выполнил хранимую процедуру вручную, которая извлекает 45 записей, где при выполнении ее с помощью сценария ниже perl она выбирает только одну запись, и эта запись не является верхней или последней записью из 45 записей. Что не так в приведенном ниже коде
Платформа : Windows База данных : MS SQL SERVER
**Program**:
use strict;
use DBI;
use DBD::ODBC;
print "Trying to connect\n";
my $server_name = "XXXXXXXX";
my $server_port = 'NNNN';
my $database_name = 'XXXXX';
my $database_user = 'XX';
my $database_pass = 'XXXXX';
my $dbh = DBI->connect("dbi:ODBC:DSN=sql_test", $database_user, $database_pass)
|| die "Couldn't open database: $DBI::errstr\n";
my $sql = $dbh->prepare("Exec sp_listUsers '25329601','1'");
my $more_results;
$sql->execute();
my $results_ref;
my @array;
do
{
print "getting results\n";
my $names = $sql->{NAME}->[0];
print "names $names\n";
while ($results_ref = $sql->fetchrow_hashref())
{
print "test $results_ref->{'user_id'}\n";
print join (", ", values %$results_ref), "\n";
push (@array, $results_ref->{'user_id'});
#print "row $results_ref\n";
}
}while($more_results = $sql->{odbc_more_results});
foreach my $val (@array)
{
print "user id $val\n";
}
$dbh->disconnect();