Приложение 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";