質問
PSP(パラレルストリーミング処理)が有効なスクリプトで、Excelファイルの書き込みコンポーネントでエラーが発生しているように見えますが、実際の原因はどこにありますか?
回答
PSPが有効な場合、読み取りや変換コンポーネントでエラーが発生していても、書き込みコンポーネントのエラーとして表示されます。そのため、エラーの実際の発生箇所が書き込みコンポーネントとは異なる場合があります。
以下のエラーメッセージが書き込みコンポーネントのエラーとして表示されている場合でも、実際にはファイル読み込み処理で失敗している可能性があります。
エラーメッセージ例:
[ファイル/Excel/書き込み]の処理に失敗しました。原因:[com.appresso.ds.dp.modules.adapter.excel.ooxml.TableDataReadException: 出力内容をテーブルから読み込むのに失敗しました]
Excelコンポーネントの読み取り設定を確認してください。特に [読み取り開始条件を設定] において、[指定した文字列にマッチしたセルから開始] と [指定したセルアドレスから開始] の選択が正しいかを確認してください。[指定した文字列にマッチしたセルから開始] を選択している場合、[マッチ文字列] に指定した文字列が読み込み対象のExcelシート上に実在しないと、ファイル読み込みに失敗しエラーが発生します。
補足
- PSPが有効な処理でエラーが発生した場合、読み取りや変換コンポーネントでエラーが発生していたとしても、書き込みコンポーネントのエラーとして処理されるため、エラーの発生箇所を確認することが困難となります。
- PSPで処理を行う読み取りコンポーネントと書き込みコンポーネントの間で、処理対象となるファイルは操作できません。読み取りと書き込みで同一ファイルを指定している場合は、スクリプトの改修をご検討ください。
- 参考:PSPデータフローが有効になっていると「DataAlreadyUsed」というエラーが出てしまいます
- 参考:【公式】パラレルストリーミング処理
コメント
0件のコメント
記事コメントは受け付けていません。