Well I'm new to both Perl and DBD::DB2, so please bare with me.
 
I've installed the latest Active state Perl, the latest DBI and DBD::DB2
from CPAN.   
 
I'm trying to develop a program that runs on a Windows server that does
a SELECT from a DB2 that's on an Os/390 box running several DB2's.
What I'm looking for is a good example of a program that does that.
Here's what I have, but I can't make the connection work......
 
 use warnings;
 use strict;
 use diagnostics;
 
 use DBI;
 use DBD::DB2;
 use DBD::DB2::CONSTANTS;
 
 print "Operating System = $^O\n";
 print "Perl Binary      = $^X\n";
 print "Perl Version     = $]\n";
 print "DBI Version      = $DBI::VERSION\n";
 print "DBD::DB2 Version = $DBD::DB2::VERSION\n\n";
 
 my @DB2DataSources = DBI->data_sources("DB2");
 
 print "Available DB2 DSNs:\n\n";
 foreach my $dsn ( @DB2DataSources )
 {
  print " $dsn \n";
 }
 
 my $hostname = "dsn2.prdpl.abc123.com";  # This is the hostname of the
server you are wanting to connect to.
 my $port     = "5002";                       # dsn port number.
 my $protocol = "TCPIP";                      # communication protocol
 my $database = "DSN2";                   # This is the database name
that you are connecting to on the above host.
 my $user     = "G156505";                    # User that is connecting
to the database
 my $password = "xxxxxx12";                   # Password the User is
connecting to the database
 
#  my $dsnx = "dbi:DB2:database=$database; HOSTNAME=$hostname;
PORT=$port; PROTOCOL=$protocol; UID=$user; PWD=$password;";
#  my $dsnx = "dbi:DB2:database=USNETAALDSN2";
 my $dsnx = "dbi:DB2:database=$database; HOSTNAME=$hostname; PORT=$port;
PROTOCOL=$protocol; UID=$user; PWD=$password;";
 

 my $dbh = DBI->connect($dsnx, 
                      $user, 
                      $password) || die "Connection failed with error:
$DBI::errstr";
 
my $sql = qq( SELECT CUS_NBR, CUS_LST_NM FROM TEST.XXXR0471_CUSTAB WHERE
CUS_NBR = 535077);  
print $sql;      
my $sth = $dbh->prepare( $sql );
$sth->execute();  # Execute the select statement
my ( $cusno, $lastname );
$sth->bind_columns( undef, \$cusno, \$lastname );
 
while( $sth->fetch() )  {
 print "$empno, $lastname\n";
 }
 
 $sth->finish();   # Tell the database handle you are finished with it.
 $sth->disconnect();  # Disconnect from the database. 
 

Brent Brimacomb  CISSP, CISM 
EDS - Information Security 
MS 354 
4000 North Mingo Rd. 
Tulsa, OK  74116 
* phone: +01-918-939-6534 
* mailto:[EMAIL PROTECTED] 

 

Reply via email to