Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » リモート・データとバルク・オペレーション » リモート・データへのアクセス » 内部オペレーション

 

サーバの機能

前述の手順は、ローカルとリモートの両方の、すべてのクエリに実行されます。

以降の手順は、SQL 文の型と、作業に関わるリモート・サーバの機能によって異なります。

SQL Anywhere では、各リモート・サーバに機能が定義されています。これらの機能は、ISYSCAPABILITIES システム・テーブルに格納され、リモート・サーバへの最初の接続の間に初期化されます。

一般的なサーバ・クラスである odbc は、ODBC ドライバから返される情報から厳密にリモート・サーバの機能を判別します。db2odbc などのその他のサーバ・クラスには、リモート・サーバ・タイプの機能情報についてより詳細な情報があり、その情報を使用して、ドライバから返される情報を補います。

ISYSCAPABILITIES にサーバが追加されると、以後、そのリモート・サーバの機能情報はそのシステム・テーブルから取り出されるようになります。

リモート・サーバは特定の SQL 文の全機能をサポートしているとはかぎらないので、SQL Anywhere では、クエリがリモート・サーバに対応できるようになるまで、文を単純なコンポーネントに分割する必要があります。リモート・サーバに渡されない SQL 機能は、SQL Anywhere 自身が評価します。

たとえば、あるクエリに ORDER BY 文があるとします。リモート・サーバが ORDER BY を実行できない場合、ORDER BY を除いて、文がリモート・サーバに送信されます。SQL Anywhere は、結果が返されると、ORDER BY を実行してから結果をユーザに返します。その結果、ユーザは SQL Anywhere がサポートする全範囲の SQL を、特定のバックエンドの機能を考慮することなく使用できます。