Приложение 4. Пример обработки типов данных в DBI-интерфейсе
#!/usr/bin/perl require DBI; import DBI; $t->{'t'} = "t"; $drh = DBI->install_driver('Linter'); print "Version = $drh->{Version}"; $database=''; $username='SYSTEM'; $auth='MANAGER8'; $dbh = DBI->connect($database, $username, $auth, \%attr, 'Linter'); if(defined $dbh){ $dbh->do('drop table bigint_test;'); $dbh->do('create table bigint_test(b boolean, i int, j int, bi bigint, ch varchar(15), ch1 char(20));'); $dbh->do('insert into bigint_test values(true, 10, 10, 42949672950, \'ddd\',\'\');'); $dbh->do('insert into bigint_test values(false, 20, 10, 429496729500, \'ddd\',\'\');'); $dbh->do('insert into bigint_test values(true, 30, 10, -42949672950, \'ddd\',\'\');'); $dbh->do('insert into bigint_test values(false, 40, 10, -429496729500, \'ddd\',\'\');'); $sth=$dbh->prepare('insert into bigint_test values(?,?,?,?,?,?);'); if(defined $sth){ # @param=(100, 100, "-42949672950", "fff, "ff"); @param=(1, 100, 100, -42949672950000, "fff", "ff"); $sth->execute(@param); $sth->execute(@param); $sth->execute(@param); } $sth->finish; $sth=$dbh->prepare('select b,i,bi,j,ch,ch1 from bigint_test;'); $t = $sth->{TYPE}; print "\n$t->[0], $t->[1], $t->[2], $t->[3], $t->[4], $t->[5]\n"; #die "\n"; $rv = $sth->execute(); while(1){ @row=$sth->fetchrow_array; last unless defined $row[0]; print "\n-> $row[0] $row[1] $row[2] $row[3] $row[4] $row[5]<-\n"; print $row[1] /100, "\n"; }; }else{ die("\nconnection error\n"); } die "\n";