Below is the code which I am referring to. Implemented for Informix DB with dbaccess interactive mode.
I need to implement similar logic for DB2.
sub get_colinfo
{
my $table = shift;
open TINFO, "-|", "echo \"info columns for $table\" | iSQL 2>&1" o
+r die "foo $?";
my @colinfo = ();
while (<TINFO>)
{
if (/^SQL/)
{
# oops, got an error
print STDERR $_;
while (<TINFO>)
{
print STDERR $_;
}
last;
}
my @info = split(/\|/, $_);
my $colname = $info[1];
my $ntype = $info[2];
my $collen = $info[3];
$colinfo[0] = $colname;
$colinfo[1] = $ntype;
$colinfo[2] = $collen;
}
return \@colinfo;
}