機械翻訳について

1.6 ゲートウェイの動作方法

ゲートウェイには、独自のデータベース機能はありません。 かわりに、OracleデータベースがSQL操作の一部またはすべてをDRDAデータベースに送信できるインタフェースを提供します。

DRDAサーバーをサポートするゲートウェイは、データベース・リンクの使用によりOracle Databaseに識別されます。 データベース・リンクは他のOracleデータベースを識別するために使用される同じ構成要素です。 DRDAサーバーの表は、SQLで次のように参照されます。

table_name@dblink_name

または

owner.table_name@dblink_name

Oracle Databaseにシノニムまたはビューを作成すると、DRDAサーバーの表を、その表がOracle Databaseに対してローカルであるかのように単純名を使用して参照できます。

Oracle DatabaseによってDRDAサーバー上の表に対する参照が検出されると、SQL文の適用可能な部分が処理のためにゲートウェイに送信されます。 SQL文に関連付けられたすべてのホスト変数は、ゲートウェイに(したがってDRDAサーバーに)バインドされます。

ゲートウェイは、実行のために、およびレスポンスの処理と返信のためにこれらのSQL文をDRDAサーバーに送信します。 レスポンスは、データまたはメッセージです。 Oracleデータ型とDRDAデータ型の間の変換は、ゲートウェイにより実行されます。 Oracle Databaseとアプリケーションの両方とも、Oracleデータ型のみを読み取って処理します。

SQLの相違

SQL実装はすべて同じではありません。 Oracleデータベースでは、ゲートウェイを通じて現在アクセスされるデータベースより多くの組込み関数のセットをサポートしています。 Oracle Databaseとゲートウェイは、連携してSQLを特定のDRDAサーバーと互換性のある形式に変換します。

この変換中に、Oracleデータベース関数は、特定のDRDAサーバーに認識可能な関数に変換されます。 たとえば、OracleデータベースのNVL関数は、DB2 VALUE関数に変換されます。

または、Oracleデータベースでは、DRDAサーバーで実行できない関数が保持され、DRDAデータベースから行がフェッチされた後に実行されます。 この処理は、SELECT文にのみ適用されます。 Oracleデータベースおよびゲートウェイは、トランザクション・セマンティクスを変更するため、UPDATEINSERTまたはDELETE文に対してこの種の操作を実行できません。