File mancanti durante l'esecuzione di un lavoro perl Talend dalla riga di comando

StackOverflow https://stackoverflow.com/questions/4424878

  •  09-10-2019
  •  | 
  •  

Domanda

Ho creato un semplice lavoro Talend Perl per estrarre i dati da un file Excel e collocarlo in una tabella mysql. Questo funziona bene quando l'eseguo in Talend Studio 4.1.1.

Il problema è quando ho esportare il lavoro. Io provo a farlo funzionare in questo modo:

  

perl -Ilib   proj.job_import_prods_0.1.pl   --context = Default --context_param file_path = "/ home / antoniocs / programmazione / file.xls"   $ *

Questo mi dà i seguenti errori:

  

Impossibile individuare IO / Scalar.pm in @INC   (@INC contiene:   / Home / antoniocs / programmazione / lib   / Etc / perl /usr/local/lib/perl/5.10.1   /usr/local/share/perl/5.10.1   / Usr / lib / perl5 / usr / share / perl5   /usr/lib/perl/5.10   /usr/share/perl/5.10   / Usr / local / lib / site_perl.) A   lib / OLE / Storage_Lite.pm linea 171.   BEGIN fallito - compilation interrotta a   lib / OLE / Storage_Lite.pm linea 171.   Compilazione fallito nel richiedere al   lib / Foglio / linea ParseExcel.pm 18.   BEGIN fallito - compilation interrotta a   lib / Foglio / linea ParseExcel.pm 18.   Compilazione fallito nel richiedere al   proj.job_import_prods_0.1.pl linea 568.   BEGIN fallito - compilation interrotta a   proj.job_import_prods_0.1.pl linea 568.

Ho già messo la ParseExcel.pm int la cartella lib nella cartella del lavoro. Non c'è modo di Talend aggiungerà automaticamente i file necessari per la cartella del lavoro?

Nota: Quando si esporta il lavoro ho controllato la casella "dipendenze di esportazione" EXTRA NOTA: io non sono un programmatore Perl

.
È stato utile?

Soluzione

Hai bisogno di trovare il percorso in cui memorizza talend i moduli Perl (non potete semplicemente spostare i file). Una volta che sai che, è possibile creare una variabile d'ambiente PERL5LIB dire perl in cui i moduli si sta cercando sono memorizzati:

PERL5LIB=/path/to/modules perl -Ilib proj.job_import_prods_0.1.pl --context=Default --context_param file_path="/home/antoniocs/programming/file.xls" $*

Un find /where/talend/lives -name Scalar.pm rapido dovrebbe darvi un indizio (si desidera che la directory prima IO). Se si finisce per dover più directory, possono essere separati con un : proprio come nella variabile d'ambiente PATH.

In alternativa, è possibile installare i moduli richiesti dal vostro gestore di pacchetti (suggerimento, finestre di stile RedHat utilizzano nomi come perl-IO-scalari e Debian finestre di stile utilizzare nomi come libio-scalari-perl) o CPAN .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top