グラフィカル・データ・マッピング・エディターを使用してデータベース表のデータを読み取ったり変更したりする際のデータ・タイプの取り扱いでは、ランタイムから接続するデータベース・サーバーのタイプを考慮に入れる必要があります。 マッピング・ノード例外またはデータベース・サーバー例外がスローされるのを避けるために、明示的な型キャストを行うためのマップが必要になることがあります。
グラフィカル・データ・マッピング・エディターでのマップの設計時に表示されるデータベース列のデータ・タイプは、データベース定義ファイルによって提供されます。 キャスト変換またはカスタム変換 (XPath など) を使用すれば、データベース列にマップされるエレメントのデータを確実に正しいデータ・タイプにすることができます。
ブローカーのランタイムでマップが実行されるとき、JDBC Providers 構成可能サービスが接続先のデータベースを決定します。これは、ランタイムで定義する必要があります。 データベースへの JDBC 接続の使用可能化を参照してください。
ブローカーのランタイムは、ターゲット列のデータ・タイプを取得するために、接続したデータベース・システムに対して照会を試行します。これは、SQL ステートメント内のデータを引き渡す前に、必要な型キャストを実行するためです。 提示された値のタイプと、ブローカーのランタイム内でデータベース・メタデータによって定義されたタイプとの間に有効な型キャストが存在しない場合、マップを実行している Mapping ノードによってブローカー・ランタイム例外がスローされます。
これらのタイプのデータベース・システムを使用している時、ブローカーのランタイムはキャストを実行できません。 データ・エレメントの値は、それらが提示されたタイプでデータベース・サーバーに渡され、キャストは実行されません。 この結果として、データベース・システムがその値を拒否し、データベース例外がスローされることがあります。 この動作は、Mapping ノードの例外としてスローされるブローカー・ランタイム例外の場合とは異なります。
Select、Update、および Delete の Where 節で値を使用する場合、そのタイプは以下のようにして決定されます。