移行ツールのデータチェックについて

ここでは、ASTERIA Warp 2412 以降で提供される移行ツールのデータチェックに関するよくある質問をまとめています。

移行ツールの詳細については「製品ドキュメント一覧>(移行先バージョンのページ)>環境移行ガイド」  をよくお読みください。

移行ツールに関するよくある質問については、こちらをご参照ください。

移行ツールのデータチェックとは何ですか?

旧バージョンから新バージョンへデータ移行が可能かどうかチェックを行います。チェック結果として 「自動変換」、「警告」、「要対応」の3種類のメッセージが出力されます。

「自動変換」と出力されるのはどのような場合ですか?

旧バージョンから新バージョンに自動的に変換可能な機能や設定などが含まれている場合に出力されます。例えば、以下のような内容が該当します。

  • 設定ファイルの内容
  • 設定ファイルで古いデータディレクトリを参照している部分
  • 廃止されたコンポーネントや関数のうち、新バージョンで自動的に変換可能なものがある場合

※PDFコンポーネント、PDFMergeコンポーネント、ImageConverterコンポーネント、StrToDate関数、FormatDate関数が「自動変換」の対象として、代替コンポーネント・関数に自動的に置き換わります。

旧バージョンのどのフローで自動変換が行われるのかを確認できますか?

はい、移行ツールのデータチェック(以下のコマンド)の実行結果で、対象のプロジェクト名、フロー名、コンポーネント名が出力されます。

※移行ツールのオプションについては、環境移行ガイドをご参照ください。

migration-tool -old [旧バージョンのデータフォルダー]

例)migration-tool -old C:\asteriahome5
※実行結果
プロジェクトファイルをチェックします(1/1) : C:\asteriahome5\home\guest\Test\test1.xfp
	[自動変換]廃止されたマッパー関数が見つかりました: test1.Flow1.Mapper1.StrToDate1

「警告」と出力されるのはどのような場合ですか?

新バージョンで挙動が変わる可能性のある機能や設定などが含まれている場合に出力されます。例えば、以下のようなケースが該当します。

正規表現を使用したコンポーネントやマッパー関数がある場合

[警告]正規表現を使用したコンポーネント/マッパー関数は挙動が変わる可能性があるため確認が必要です

ASTERIA Warp 2412 で正規表現の処理をJava標準の機能に変更したため、正規表現を使用したコンポーネント/マッパー関数が存在する場合に出力されます。

※本機能の変更については、ASTERIA Warp 2412 製品ドキュメントのリリースノートをご参照ください。

標準出力のエンコーディングプロパティが「プラットフォーム依存」の場合

[警告]標準出力のエンコーディングプロパティが「プラットフォーム依存」の場合、文字化けする可能性があります

外部プログラムが出力する文字のエンコーディングがこの設定と異なる場合に出力されます。

例えば、EXEコンポーネントの「標準出力のエンコーディング」プロパティが該当します。

プロパティで「プラットフォーム依存」が設定されている場合、ASTERIA Warpサーバーが稼働しているOSに依存したエンコーディングが適用されます。 (Windowsの場合は「Windows-31J」が使用されます。)

旧バージョンと新バージョンが同一OS環境である場合、旧バージョンで文字化けが発生していない状態であれば、対応は不要です。

「要対応」と出力されるのはどのような場合ですか?

新バージョンでは使用できない機能が含まれている場合に出力されます。そのままでは移行できないため、旧バージョンで廃止された機能を使わないフローに修正する必要があります。旧バージョンでフローを修正したら、再度移行ツールでチェックしてください。チェック結果で「要対応」が0件になると、旧バージョンから新バージョンへデータを移行できます。

以下のようなケースが該当します。

正規表現を使用したコンポーネントやマッパー関数がある場合

[要対応]正規表現"[[]"はコンパイルに失敗しました : test1.Flow1.Mapper1.RegexpMatch1
[要対応]正規表現"{aaa}"はコンパイルに失敗しました : test1.Flow1.Mapper1.RegexpMatch1

ASTERIA Warp 2412 で正規表現の処理をJava標準の機能に変更されました。そのため、バージョン2406以前で動作していた正規表現がJava標準の記法では構文として不正になる場合、その正規表現を使用したコンポーネント/マッパー関数で構文エラーが発生するケースがあります。

※本機能の変更については、ASTERIA Warp 2412 製品ドキュメントのリリースノートをご参照ください。

■ケース1:文字クラス内に [ が含まれる場合(例: [[] )

Java標準の記法では文字クラス内の [ をネストした文字クラスの開始として解釈するため、[[] のようなパターンは、文字クラスが閉じられていないと判断され、構文エラーになります。

[ を文字そのものとして指定したい場合は、例えば、[[] の記述は [\[] のようにエスケープする修正が必要です。

■ケース2:量指定子として不正な { が含まれる場合(例: {aaa} )

Java標準の記法では、{ は繰り返し回数を指定する量指定子({n} や {n,m} など)として扱われます。{ の直後が数字でないなど、量指定子として正しい形式になっていない場合は、構文エラーになります。

文字列(リテラル)として扱いたい場合は、例えば、{aaa} の記述は \{aaa\} のようにエスケープする修正が必要です。

※ 現時点では、上記以外に判明している互換性の問題はありません。

「要対応」が0件でない状態で移行できますか?

「-overwrite」オプションとあわせて、「-force」オプションを指定して移行ツールを実行することで、「要対応」が0件でない状態でもデータを移行することは可能です。

「要対応」の対象である廃止されたコンポーネント・マッパー関数を含んだままデータを移行するとどうなりますか?

新バージョンのフローデザイナーで、廃止されたコンポーネント・マッパー関数を含むフローを開いて編集できます。フローでは、廃止されたコンポーネント・マッパー関数は「?」アイコンで表示され、プロパティを参照することができます。

廃止されたコンポーネント・マッパー関数を含んだフローをコンパイルするとコンパイルエラーになり、実行できません。新バージョンのフローデザイナーでフローを編集して、コンパイルエラーの部分を修正してください。

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

他のキーワードで検索する