2010-12-13 6 views
0

私は、単純なtalend perlジョブを作成して、excelファイルからデータを抽出し、それをmysqlテーブルに配置しました。 これは、talend studio 4.1.1で実行するとうまくいきます。コマンドラインからTalend perlジョブを実行するときにファイルが見つからない

問題は、ジョブをエクスポートするときです。

perlの-Ilib proj.job_import_prods_0.1.pl --context =デフォルト--context_param FILE_PATH = "/ホーム/ antoniocs /プログラミング/ file.xls" $:私はそうのようにそれを実行しよう*

これは私に次のエラーを与える:

は@INC にIO/Scalar.pmを見つけることができません(@INCが含まれています /ホーム/ antoniocs /プログラミング/ libにを0/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 /libに/ site_perlは/ usr/local) のlib/OLE/Storage_Lite.pmラインで171 BEGIN失敗しました - 。 のlib/OLE/Storage_Lite.pmで中止されましコンパイルライン171 コンパイルは のlib /スプレッドシート/ ParseExcel.pm線18 で必要に失敗した失敗したBEGIN - のlib /スプレッドシート/ ParseExcel.pmラインで中止され、コンパイル18. コンパイルが proj.job_import_prods_0で必要に失敗しました。 1.pl line 568.BEGIN failed - compilatio n個 proj.job_import_prods_0.1.plライン568

で中止され、私はすでに仕事のフォルダにlibフォルダをint ParseExcel.pmを配置しています。 talendが自動的に必要なファイルをジョブのフォルダに追加する方法はありませんか?

注:ジョブをエクスポートするとき、「依存関係をエクスポートする」チェックボックスを選択しました。 注:私はPerlプログラマーではありません。

答えて

1

talendがPerlモジュールを格納するパスを見つける必要があります(ファイルを移動することはできません)。

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

を迅速find /where/talend/lives -name Scalar.pmは(あなたがIO前にディレクトリをしたい)あなたの手掛かりを与える必要があります:あなたがいることを知ったら、あなたはそれが探しているモジュールが格納されている場所perlを伝えるためにPERL5LIB環境変数を作成することができます。複数のディレクトリが必要な場合は、PATHの環境変数のように:で区切ることができます。

また、パッケージマネージャから必要なモジュールをインストールすることもできます(ヒント、RedHatスタイルボックスではperl-IO-Scalar、Debianスタイルボックスではlibio-scalar-perlなどの名前を使用します)またはCPAN

+0

モジュール 'IO :: Scalar'は[IO-stringy](http://search.cpan.org/dist/IO-stringy/)のディストリビューションに存在するので、RPM名は[perl-IO-stringy] (http://www.rpmfind.net/linux/rpm2html/search.php?query=perl-IO-stringy)、deb名は[libio-stringy-perl](http://packages.debian.org/ de/sid/libio-stringy-perl)を実行します。 – daxim

+0

ありがとう!ファイルはすべてtalend dirにあった。私はちょうどジョブのlibフォルダにそれらをコピーし、それはすべて素晴らしい仕事:)再びありがとう(私はまた、talendフォーラムでこれを掲載し、誰も反応しませんでした)STACKOVERFLOW GO – AntonioCS

関連する問題