[Cascavel-pm] executar loader no oracle via perl

Elvio Barbalho elvio.barbalho em gmail.com
Terça Agosto 11 08:15:05 PDT 2009


Senhores bom dia, estou tentando executar um loader via perl. estou
utilizando a versao 5.10.0 no windows xp. segue a prate do codigo que estou
com problemas.

sub loaderInadifixa
{
    GravaLog($logHandele,"INICIO DO LOADER DO ARQUIVO INADIFIXA!!!!");
    my $arq_loader_ctl = $_[0];
    my $arq_loader = $_[1];
    my $sql = "sqlldr direct=true discard=C:\\Temp\\transact\\log.dis
userid=xxxx\@yyyy/xxxxcontrol=C:\\Temp\\transact\\Transact_loader_20090811.ctl
data=C:\\Temp\\transact\\Transact_loader_20090811.txt
BAD=C:\\Temp\\transact\\bad_execucao.bad
log=C:\\Temp\\transact\\log_execucao.log";

    my $dbh = DBI->connect("DBI:Oracle:$banco",$usuario,$senha)
        or die("Nao foi possivel realizar a conexao com o bando de dados:
$DBI::errstr");

    my $sth = $dbh->prepare($sql)
        or die("nao foi possivel preparar o comando: ", $dbh->errstr(),
"\n");

    $sth->execute() or die ("Nao foi possivel executar o comando:",
$sth->errstr(),"\n");

    GravaLog($logHandele,"FIM DO LOADER DO ARQUIVO INADIFIXA!!!!");
}


esta ocorrendo o seguinte erro.

DBD::Oracle::st execute failed: ORA-00900: invalid SQL statement (DBD ERROR:
OCIStmtExecute) [for Statement "sqlldr direct=true
discard=C:\Temp\transact\log.dis userid=TRANSACT em ACRDEV1/transact
control=C:\Temp\transact\Transact_loader_20090811.ctl
data=C:\Temp\transact\Transact_loader_20090811.txt
BAD=C:\Temp\transact\bad_execucao.bad
log=C:\Temp\transact\log_execucao.log"] at
C:/workspace/Scripts_Perl/Transact.pl line 168.
Nao foi possivel executar o comando:ORA-00900: invalid SQL statement (DBD
ERROR: OCIStmtExecute)


Entretanto quando executo o loader na mao

sqlldr direct=true discard=C:\Temp\transact\log.dis
userid=TRANSACT em ACRDEV1/transact
control=C:\Temp\transact\Transact_loader_20090811.ctl
data=C:\Temp\transact\Transact_loader_20090811.txt
BAD=C:\Temp\transact\bad_execucao.bad log=C:\Temp\transact\log_execucao.log

ele roda ok!!!!!!


Elvio Barbalho
Brasília, DF
Brasil

T + 55 61 21096814
C + 55 61 84223137
C + 55 61 81751213
elvio.barbalho em gmail.com
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20090811/01a7ea25/attachment.html>


Mais detalhes sobre a lista de discussão Cascavel-pm