0
perl에서 DBD::Oracle
모듈을 사용하여 xml 내용을 oracle 11 g 인스턴스에 삽입하고 있습니다. 일부 샘플을 샘플에 삽입하는 동안 모듈이 Unsupported named object type for bind parameter
을 반환 할 때 스크립트가 실패합니다. 이 오류를 처리하고 루프 반복을 계속하고 싶습니다. perl에서 모듈에 의해 던져진 에러를 처리하는 방법
다음
는use strict;
use warnings;
use DBI;
use DBD::Oracle qw(:ora_session_modes);
use DBD::Oracle qw(:ora_types);
die("USAGE: $0 <input_directory>") unless ($#ARGV == 0);
my $directory=$ARGV[0];
my $dbh = DBI->connect('dbi:Oraclle:dbname',"username", "pass");
my $SQL;
opendir(IMD, $directory) || die ("Cannot open directory");
my @listOfFiles= readdir(IMD);
closedir(IMD);
my $xmltype_string;
my $xml;
my $i = 1;
foreach my $file(@listOfFiles)
{
unless($file eq '.' or $file eq '..')
{
print "inserting File no. $i \t $file .... \n";
{
local $/=undef;
open (FILE , "<" , "$directory/$file");
$xml=<FILE>;
close (FILE);
}
$SQL="insert into sampleTable values (:ind, :xml)";
my $sth =$dbh-> prepare($SQL);
$sth->bind_param(":xml" , $xml , { ora_type => ORA_XMLTYPE});
$sth->bind_param(":ind" , $i);
$sth-> execute();
$i++;
}
}
은 암이 바인드 PARAM에서 오류가 발생, 내 코드입니다.
정확하게 내가 찾고있는 것이 었습니다. 고마워요 !! –