Home > リファレンスガイド > ユーティリティ > データマッパーユーティリティ > 送り元と送り先のプロパティペイン > [Database]プロパティ

[Databse]プロパティ

送り元または送り先のタイプとして Database を選択する場合は、変換するデータを選択するか、データベーステーブルでデータを操作する必要があります。

送り元としてデータベースを使用する場合は、送り先にマッピングするためにどのデータを使用するかを決定する必要があります。これを行うには、使用するデータを定義したSQL文を作成します。データマッパーは送り元のデータとして複数のテーブルの選択をサポートします。この場合に、テーブルを結合するためにJOINコマンドを作成しなければなりません。

送り先のデータとしてデータベースを使用する場合は、データベーステーブルのデータを編集する必要があります。これを行うには、挿入更新削除、またはUPSERTの各処理のうちどれを実行するかを指定します。データマッパーは、データベースにマッピングすることにより、どのようなフォーマットからでも簡単にデータの更新、挿入ができます。

  • [設定]ダイアログボックスの[リソース]セクションで定義したデータベースへの接続性が全くない場合、データマッパーの送り元と送り先のカラムの中のデータベーススキーマのエントリは赤く表示されます。このような場合に、問題について説明する情報のツールティップを表示するには、エントリ上でホバリングしてください。接続がない状況で、キャッシュされたスキーマが存在している場合、マッピングと式を編集することができます。

  • デフォルトでは、すべてのデータベーススキーマはキャッシュモードで開かれます。これは、テーブル定義がローカルなキャッシュからロードされて、データベースと接続しようとする試みが全くないことを意味しています。この動作は、オンラインとオフラインモードを切り換えるトグルボタンによってコントロールされます。これによってデータベースリソースでオンラインからオフラインにモードを切り替えます。テーブル構造がたびたび変更されるのであれば、オンラインモードを使用することを推奨します。テーブル構造があまり変更されないか、データベースと接続することのないプロジェクトを使用している場合、オフラインモードの使用を推奨します。スキーマのコンテキストメニューの[リフレッシュ]エントリを使用するか、SQL文を変更することでオフラインスキーマを再表示するすることは常に可能です。 (Since version: 4.5)

  • ツールバーの上の[データベーススキーマのリフレッシュ]ボタンをクリックするか、[編集]メニューをクリックし[データベーススキーマのリフレッシュ]を選択することで、複数のデータベーススキーマを再表示することができます。データマッパドキュメントがスタジオでフォーカスがあり、さらにオンラインリソースに属している少なくとも1つのデータベーススキーマがある時だけ、この機能は有効です。(Since version: 4.5)

  • チェッカは、SQL文を構文解析しません。SQL文は、データベーススキーマ構成のステップの間に構文解析されるだけで、ビジュアルな情報はデータマッパツリー上で表示されます。

[プロパティ]ペインには、以下のパラメータを設定することができます。

名前

説明

スキーマの名前を入力します。

説明

スキーマの説明を入力します。

ウィザード

ータベースウィザードによって視覚的にSQL文を作成することができます。をクリックするとデータベースウィザードが開きます。

[動的SQL文]パラメータ(以下)がYesに設定ている時、このパラメータは無効になります。

SQL文

[データベース]オプションを使用する時、自身でSQL文を作成することに決めることができます。これを行うには、をクリックして手動でSQL文を作成します。

UIPSERT

宛先としてデータベースオプションを使用している場合は、UPSERT機能が設定できます。

ドロップダウンリストから次のいずれかを選択します。

  • Yes

  • No (デフォルト)

[Yes]を選択すると、ユーザーはウィザードを使用してUPSERTステートメントを生成することができます。

UPSERTステートメントの作成の詳細については、ここをクリックしてください。

(Since version: 4.9)

動的SQL文

送り先として[データベース]オプションを使用している場合、自身でINSERT/UPDATE/DELETEステートメントを記述したいかどうかを示す必要があります。それは、そのまま実行されます。

Magic xpiはステートメントを構文解析しません。ドロップダウンリストから以下のどれかを1つを選択してください:

  • Yes

  • No (デフォルト)

動的SQL文の作成についての詳細については、ここをクリックしてください。

単純なSQL文をMagic xpa デプロイメントが解析してデータベースに送るのと同じように、予想されるデータ型に基づいて動的タグの値をキャストおよび処理するのはユーザーが実施する必要があります。

たとえば、Alphaタイプの項目を処理する場合は、動的な更新ステートメントを変更して、文字列の前にASCIIChr(39)&を、文字列の後に&ASCIIChr(39)を使用して値をカプセル化します。

'Any'を文字列として使用している場合、ステートメントは次のようになります。

ASCIIChr (39)&'Any'&ASCIIChr (39)

あるいは、データベースの動作によって、SQL文中で動的タグを引用符で囲むこともできます。

データベース定義

使用したいデータベースを選択します。[設定]ダイアログボックスの[リソース]セクションに入力したすべてのデータベースが選択できます。

DB切断

ドロップダウンリストからYesを選択すると、指定されたデータベースへのオープン状態の接続はステップの終了で切断することができます。パラレルなのデータマッパステップを使用して、特定のデータベース定義のためにこのチェックボックスが選択されると、最終ステップがその処理を完了し、接続を開放するまで切断されません。失敗の通知はログにもモニタにも送られません。

[DB切断]フィールドは、データベースとの接続を閉じます。レコードをデータベースから選択して、フローを呼び出すデータマッパステップを持つフローがある場合、レコードがまだ処理中の親データマッパーへの接続を閉じることになるため、呼び出されたフローのリニアパス内でDB切断を使用しないでください。

エラー処理フロー

送り先として[データベース]オプションを使用している場合、[エラー処理フロー]フィールドはエラーフロー機能を使用して、例外を処理させます。をクリックするとフローリストが開きます。ここで、エラーが発生したときに実行したいフローを選択してください。エラーが正確にどこで発生したかを確認することを支援するエラーフローを設計し、選択する必要があります。[エラー処理フロー]で入力データを受け入れるフロー変数を定義することも確認してください。

[エラー処理フロー]が選択される時にエラーが発生すると、適切なエラー情報を含んだでいるフローが実行されます。

  • リストボックスの表示を戻すとすぐに、[設定]ダイアログボックスの[リソース]]セクションの[データベース]セクションで変更内容が表示されます。

  • Magic xpiの内部データベースは、選択リストには表示されません。

  • BLOBフィールドは、データベースの送り先ではサポートされていません。

  • Magicxpi 4.13.0リリースでは、データマッパーはMSSQLおよびOracleデータベースのフィールド名を大文字と小文字を区別せずに処理し、データベースが列名とテーブル名で大文字と小文字を区別するように設定されている場合にマッパーが失敗する原因となりました。 この動作は4.13.1で解決されています。フィールド名は定義されている文字列のまま識別されるようになりました。4.13バージョンでスキーマ更新を実行し、結果としてステップが作成または更新された場合、接続が失われる可能性があります。その場合、切断されたすべての接続を手動で再作成する必要があります。

  • MSSQLデータベースの列名に特殊文字が含まれている場合は、角括弧で囲み、手動でカプセル化する必要があります。 これは、データマッパーのウィザードの概要画面で実行できます。
    角括弧のカプセル化は、SQLTemplates.xmlファイルで行うこともできます。 SQLTemplates.xmlを変更することにより、データマッパーウィザードによって生成されたSQLステートメントには自動的に角括弧が付き、ユーザーはステートメントを手動で変更する必要がなくなります。