Home > トラブルシューティング > データマッパーのトラブルシューティング

データマッパーのトラブルシューティング

Q

プロジェクトを保存できません。

A

サポートされていないタイプを使用した場合、エラーが発生することがあります。もしプロジェクトの保存に失敗し、データマッパステップに問題があるというメッセージが表示された場合、プロジェクトで使用しているタイプがMagic xpiで正しく認識されているかを確認する必要があります。

プロジェクトの保存の詳細についてここをクリックしてください。

 

 

Q

どのようにしたらSQL文を参照できますか?

A

もし、データベースを使用していて、データベースに送られたSQL文を参照したい時、プロジェクトがサーバで実行している場合はifs.iniDebugMapper=Y フラグを使用することができます。代わりに、IFS設定インタフェースを使用してデータマッパログを有効にすることができます。

データマッパーユーティリティをデバッグすることの詳細についてここをクリックしてください。

 

 

Q

マッピング接続を定義するとエラーが発生します。

A

異なるタイプのノード間のデータマッパー接続の一部は許可されておらず、以下のエラーが返されます。

Warning 124 – Mismatch in Data Mapper connection type

以下が正しくない接続タイプの一覧です。

Alpha

>

Logical

Numeric

>

Date

Numeric

>

Time

Date

>

Numeric

Date

>

Time

Date

>

Logical

Time

>

Logical

Time

>

Numeric

Time

>

Date

Logical

>

Alpha

Logical

>

Date

Logical

>

Time

 

 

Q

何故 "Invalid Statement" エラーが発生するのですか?

A

SQL文の最後まで送られたのにも関わらずInvalid Statementエラーを受け取った場合、これはデータマッパサービスを使用してオーナがdboではないテーブルにINSERTを行なおうとし、データベースの送り先に対してテーブルのオーナ(Magic xpiのテーブルではMagic xpiの代わりにsa )によって接続しなかったたためです。この動作はMagic xpiでは許可されていません。

 

 

Q

送り元と送り先で18桁より大きい数字を使用した場合、どうなるのでしょうかか?

A

送り元の数値の書式が18桁より大きい場合、「書式が正しくありません」という警告がデータマッパーで作成されます。

送り先の数値の書式が18桁より大きい場合、エラーが作成されます。エラーを修正するには、書式を18桁以下に変更して、常に新規書式を使用するのチェックボックスをチェックします。

 

 

Q

データマッパウインドウは、可視画面より大きく表示されます。これを修正するにはどうすればいいですか?

A

画面の解像度を1280×800または1280×1024に変更してください。

DPIの設定が通常のサイズ(96dpi)に設定されていることを確認してください:以下のようにします。

  1. デスクトップ上で右クリックして[個人設定]を選択します。[個人設定のプロパティ]ダイアログボックスが開きます。左側のメニューから[ディスプレイ]を選択します。

  2. [カスタムサイズの設定(DPI)]を選択します。[カスタムDPI設定]ダイアログボックスが開きます。

  3. DPIを設定しているパラメータが通常のサイズ(96dpi)に設定されることを確認してください。

  4. [OK]をクリックしてこれらのダイアログボックスを閉じます。

 

 

Q

データマッパーは、フラットファイル内の負数を正数に変換します。これを止めるにはどうすれいいですか?

A

このような動作を防止するには、フラットファイルの[フォーマット]カラムで数値を表す Nを追加してください。

 

 

Q

式エディタで有効な式を入力したのにもかかわらず、「不正な変数」というメッセージが表示されます。

A

データマッパーでは、転送先の要素に式を追加し、式は送り元からノードに基づいています。そして、予約語が含まれ、Trueと評価され、予約語が検証された上で先頭の文字が変換されます。そして、再び式を検証すると、無効となり、「不正な変数」というメッセージが表示されます。

例:

Salesforce object Case: IF (Source/S4/CASE/row/Fields/Type ='a','b','c')

(送り元がXMLの場合、XSDはsalesforce\XSD\Salesforce_1\Case.xsdです。そして、出力先は任意のタイプです。)

'Source/S4/CASE/row/Fields/AccountId'  を入力した場合のみ、正しく動作します。しかし、式の範囲内でそれを使用すると、問題が発生します。

したがって、[検証]をクリックすると、予約語を見つけた時に誤判定があるため、式は破損します。[検証]をクリックしない場合は、代わりに[OK]をクリックすると、正しく動作します。式がすでに無効と判断された場合、書き直す必要があります。

 

 

Q

データマッパーでJSONを使用して動作すると、"Unexpected character encountered while parsing value:" というエラーが発生します

A

無効なJSONスキーマファイルを選択すると、このエラーが発生します。 

 

 

Q

データマッパーで使用して、フラットファイルが作成されず、「Destination directory does not exist」というメッセージを受け取ります

A

これはマッピングされたネットワークドライブを使用してる場合に発生します。Magic xpiサービスは、ネットワークドライブ上のファイルを作成するために十分な権利が無いのかもしれません。解決法の1つは、マッピングを持続的にすることです。サービスがこのセッションでマッピングされたドライブを参照できるように、mapコマンドをmagicxpi-setenv.batファイルに追加することで、これを行うことができます。

 

 

Q11

"455: Source XML is not well formed"というエラーが発生します。

A11

このエラーは、XMLの書式が正しくないか、XML自身が正しくても予期されているXMLと一致していないかもしれません。

 

 

Q

"Missing Format or Picture definition" というエラーが発生します

A

xs:unionフィールドタイプなどのデフォルトのデータタイプにマッピングされていないスキーマに、フィールドタイプがある場合、このエラーが発生します。この問題を解決するには、デフォルトデータフォーマットリポジトリでフィールドタイプを定義する必要があります。

移行中に、マッパ内でマッピングされたフィールドタイプを持っていて、デフォルトデータタイプにマッピングされない場合、移行処理後にフィールドタイプを定義する必要があるチェッカーのエラーを受けとることになります。

注意:デフォルトデータタイプは、特定のスキーマ、またはプロジェクト全体(デフォルトデータフォーマットのエントリがどこで定義されるかによります)に対して設定することができます。

 

 

Q

SQLからの空の結果がマップされるときに、データマッパーが不完全なUserXMLを返すのはなぜですか?

A

データマッパーコンポーネントで、SQLの空の結果が宛先ペインのXMLにマップされると、不完全なUserXMLが生成されます。

これを修正するには、IncludeEmptyRootElementという名前のユーザー環境変数を追加し、その値をYに設定する必要があります。既存のプロジェクトの場合は、プロジェクトを再ビルドします。

 

 

Q

プロジェクトに非常に大きなデータ変換ファイルが含まれている場合、Magic xpiプロジェクトがUNINITIALIZEDの状態で立ち往生してしまうのはなぜですか?

A

この原因の一つは、Javaメモリのヒープ領域の割り当てが少ないことが考えられます。

この問題を解決するには、Javaメモリのヒープ領域の割り当てを増加させます。同じことを行うには、以下の手順に従ってください。

  • magic.iniファイルを開き、[MAGIC_JAVA]セクションのJVM_ARGS=フラグに移動します。デフォルトでは -Xms32m -Xmx256m に設定されています。

  • ヒープ空間のメモリをより大きな値に変更します。例えば、-Xms256m -Xmx1024mとし、エラーが解消されたかどうかを確認します。

 

 

Q

XML データベースに blob 要素があると、スレッドがクラッシュしてエラーが発生するのはなぜですか?

A

送り元データベーススキーマのblob型のフィールドが送り先スキーマにマップされていない場合、実行時にスレッドがクラッシュし、Magicモニターに「メインスレッドが異常終了しました。リカバリが実行されました」というエラーが表示されます。また、ランタイムログには、次のエラーが表示されます。[エラー] - ERR-THREAD-ABORTED (-139), Program: "Main Program" error.

このエラーを修正するには、スキーマを正しくマップし、マップされていないblob要素をソーススキーマから削除します。 マッパを保存後、プロジェクトを再度実行します。

 

 

Q

データマッパの追加オペレーションでエラー「不正な項目名です」が表示されるのはなぜですか?

A

このエラーは項目名にドット(.)のような特殊文字が含まれる場合に発生します。このエラーの発生を防ぐには、データマッパでSQL文を作成する際に項目名を中括弧([])で囲ってください。

 

 

Q

送り先の計算値フィールドでハイフンを含むノード名を持つXSD要素が使用されている場合、データマッパで「認識されないデータ型を使用できません」というエラーが発生するのはなぜですか?

A

このエラーは、Magic xpiの式エディタが特定の特殊文字を処理できないために発生します。 この問題を解決するには、objOldName関数を使用してノード名をラップします。