/usr/share/doc/libdbd-odbc-perl/examples/northwind.pl is in libdbd-odbc-perl 1.45-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | #!/usr/bin/perl -w
# $Id$
#
# Perl script that talks with the Northwinds database using an
# ODBC DSN of Northwind.
#
use DBI qw(:sql_types);
use Data::Dumper;
use strict;
my $dbh = DBI->connect( "dbi:ODBC:Northwind", "", "",
{RaiseError => 1, PrintError => 1, AutoCommit => 1} ) or
die "Unable to connect: " . $DBI::errstr . "\n";
# OK, connected, now select from Customers table.
my $sel = $dbh->prepare( "select * from Customers where CustomerID like
?" );
$sel->execute( qq{A%} );
print "Driver : " . $dbh->{Driver}->{Name} . "\n";
print "SQL Statement: " . $sel->{Statement} . "\n";
print "Table contains: " . $sel->{NUM_OF_FIELDS} . " columns.\n";
print "Column names are: " . join( "\n\t", @{$sel->{NAME}}, "" );
print "Number of Params: " . $sel->{NUM_OF_PARAMS} . "\n";
print "\n";
my @row;
{
local $^W = 0;
print join( "\t", @{$sel->{NAME}}, "\n");
while( @row = $sel->fetchrow_array ) {
print join( "\t",@row, "\n");
}
}
print "\n";
# Remove sample row, if needed.
$dbh->do( qq{delete from Customers where CustomerID = 'TAL'} );
# Insert a new customer.
#Column names are: CustomerID
#CompanyName
#ContactName
#ContactTitle
#Address
#City
#Region
#PostalCode
#Country
#Phone
#Fax
print "Inserting new customer: ";
$ins = $dbh->prepare( qq{insert into Customers
values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )}
);
my @tal = (
"TAL",
"STL",
"ThomasAL",
"STL",
"Thomas Lowery",
"Manager",
"74 Washington Ave.",
"Battle Creek",
"Northeast",
49017,
"USA",
"616.961.4000",
"616.961.4000"
);
print $ins->execute(@tal) . "\n";
# Select new customer.
print "Select new customer: ";
$sel->execute( qq{TAL%} );
print "\n";
{
local $^W = 0;
print join( "\t", @{$sel->{NAME}}, "\n");
while( @row = $sel->fetchrow_array ) {
print join( "\t",@row, "\n");
}
}
$ins->finish;
print "\n";
# Change new customer.
print "Update customers: ";
$upd = $dbh->prepare( qq{update Customers set CompanyName = 'TAL' where
CustomerID = 'TAL'} );
print $upd->execute . "\n";
$sel->execute( qq{TAL%} );
{
local $^W = 0;
print join( "\t", @{$sel->{NAME}}, "\n");
while( @row = $sel->fetchrow_array ) {
print join( "\t",@row, "\n");
}
}
print "\n";
# Delete new customer.
print "Delete customer: " . $dbh->do( qq{ delete from Customers where
CustomerID = 'TAL'} ) . "\n";
$sel->execute( qq{TAL%} );
{
local $^W = 0;
print join( "\t", @{$sel->{NAME}}, "\n");
while( @row = $sel->fetchrow_array ) {
print join( "\t",@row, "\n");
}
}
print "\n";
# Finished
$sel->finish;
$dbh->disconnect;
exit;
|