Hi All,
 
I am trying to execute a very simple SELECT statement through Perl DBI
and it is hanging.  I have actually issues this very same command at the
SQL prompt and the output is immediately returned.  I turned on the
debug mode and the program hangs at:
 
DBD::ODBC::st::_prepare($sth, $statement, @attribs) or return undef;
 
The SELECT statement is as follows:
 
select ptnt_gid, prdct_gid, rx_fill_dte, claim_gid, ovrd_days_sply_nbr,
clfsn_grace_prd_nbr, 'N', (rx_fill_dte + ovrd_days_sply_nbr) from
p_dlvrb_rx_claim_extract where ptnt_gid = 337 and prdct_gid = 18607
order by ptnt_gid, prdct_gid, rx_fill_dte, claim_gid 

main::(./step1.pl:73):        $sth2 = $dbh->prepare($sqlString) || die
"$!\n";
  DB<2> s
DBD::ODBC::db::prepare(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris
/DBD/ODBC.pm:90):
90:             my($dbh, $statement, @attribs)= @_;
  DB<2> s
DBD::ODBC::db::prepare(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris
/DBD/ODBC.pm:93):
93:             my $sth = DBI::_new_sth($dbh, {
94:                 'Statement' => $statement,
  DB<2> s
DBI::_new_sth(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.pm:1
247):
1247:       my ($dbh, $attr, $imp_data) = @_;
  DB<2> s
DBI::_new_sth(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.pm:1
248):
1248:       my $imp_class = $dbh->{ImplementorClass}
1249:           or Carp::croak("DBI _new_sth: $dbh has no
ImplementorClass");
  DB<2> s
DBI::_new_sth(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.pm:1
250):
1250:       substr($imp_class,-4,4) = '::st';
  DB<2> s
DBI::_new_sth(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.pm:1
251):
1251:       my $app_class = ref $dbh;
  DB<2> s
DBI::_new_sth(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.pm:1
252):
1252:       substr($app_class,-4,4) = '::st';
  DB<2> s
DBI::_new_sth(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.pm:1
253):
1253:       _new_handle($app_class, $dbh, $attr, $imp_data, $imp_class);
  DB<2> s
DBI::_new_handle(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.p
m:1161):
1161:       my ($class, $parent, $attr, $imp_data, $imp_class) = @_;
  DB<2> s
DBI::_new_handle(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.p
m:1163):
1163:       Carp::croak('Usage: DBI::_new_handle'
1164:               .'($class_name, parent_handle, \%attr,
$imp_data)'."\n"
1165:               .'got: ('.join(", ",$class, $parent, $attr,
$imp_data).")\n")
1166:           unless (@_ == 5 and (!$parent or ref $parent)
1167:                           and ref $attr eq 'HASH'
1168:                           and $imp_class);
  DB<2> s
DBI::_new_handle(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.p
m:1170):
1170:       $attr->{ImplementorClass} = $imp_class
1171:           or Carp::croak("_new_handle($class): 'ImplementorClass'
attribute not given");
  DB<2> s
DBI::_new_handle(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.p
m:1173):
1173:       DBI->trace_msg("    New $class (for $imp_class,
parent=$parent, id=".($imp_data||'').")\n")
1174:           if $DBI::dbi_debug >= 3;
  DB<2> s
DBI::_new_handle(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.p
m:1177):
1177:       my (%hash, $i, $h);
  DB<2> s
DBI::_new_handle(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.p
m:1178):
1178:       $i = tie    %hash, $class, $attr;  # ref to inner hash (for
driver)
  DB<2> s
DBI::st::TIEHASH(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.p
m:1188):
1188:   sub DBI::st::TIEHASH { bless $_[1] => $_[0] };
  DB<2> s
DBI::_new_handle(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.p
m:1179):
1179:       $h = bless \%hash, $class;         # ref to outer hash (for
application)
  DB<2> s
DBI::_new_handle(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.p
m:1182):
1182:       DBI::_setup_handle($h, $imp_class, $parent, $imp_data);
  DB<2> s
DBI::_new_handle(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris/DBI.p
m:1184):
1184:       return $h unless wantarray;
  DB<2> s
DBD::ODBC::db::prepare(/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris
/DBD/ODBC.pm:101):
101:            DBD::ODBC::st::_prepare($sth, $statement, @attribs)
102:                or return undef;
  DB<2> s
 
Then when I break out, I get the following error:
 
DBD::ODBC::db prepare failed: [unixODBC]Unexpected protocol character
(SQL-08S02)(DBD: st_prepare/SQLPrepare err=-1) at 
 
Hope someone can shed some light.
 
Thanks.
 
Peter

Reply via email to