#!/usr/bin/perl
use diagnostics;
use DBI;
use DBI qw(:sql_types);
my $AIM_PSWD= $ENV{'AIM_PSWD'};
my $len=length($AIM_PSWD);
my $pwindex1=rindex($AIM_PSWD,'/');
my $pwindex2=rindex($AIM_PSWD,'@');
my $usr = substr($AIM_PSWD,0,$pwindex1);
my $pwd = substr($AIM_PSWD,$pwindex1+1,$pwindex2-($pwindex1+1));
my $db = substr($AIM_PSWD,$pwindex2+1,$len-($pwindex2+1));
my $attr = {AutoCommit => 0};
my $dbh;
my $qryHandle;
my $row;
my $query = "SELECT /*+ index(T_CAPITATION_HIST I_CAPITATION_HIST) */ SAK_CAPITATION FROM AIM.T_CAPITATION_HIST WHERE SAK_CAPITATION = ?";
$dbh = DBI->connect("dbi:Oracle:$db", $usr, $pwd, $attr)
or die "Unable to connect to $db\n";
$qryHandle = $dbh->prepare($query) or die "Unable to prepare query\n";
$qryHandle->bind_param(1, "765756556", {ora_type => SQL_VARCHAR});
$qryHandle->execute() or die "Unable to execute query\n";
if ($row = $qryHandle->fetchrow_hashref())
{
print "query succeeded\n";
}
else
{
print "query failed\n";
}
$qryHandle->finish();
$dbh->disconnect();
exit(0);
При выполнении этого выдается сообщение об ошибке из оператора bind_param:
Uncaught исключение из кода пользователя:
Невозможно связать: p1, ora_type 12 не поддерживается DBD :: Oracle в строке ./test.pl 26.
Как определить, какие значения ora_type поддерживаются?