次の方法で共有


カタログの位置

識別子内のカタログ名の位置と、それが他の識別子からどのように分離されるかは、データ ソースによって異なります。 たとえば、Xbase データ ソースでは、カタログ名はディレクトリであり、Microsoft Windows では、テーブル名 (ファイル名) から円記号 (\) で区切られます。 次の図は、この条件を示しています。

カタログ位置: Xbase

SQL Server データ ソースでは、カタログはデータベースであり、スキーマ名とテーブル名からピリオド (.) で区切られます。

カタログの位置: SQL Server

Oracle データ ソースでは、カタログはデータベースでもありますが、テーブル名に従い、アット マーク (@) によってスキーマ名とテーブル名から分離されます。

カタログ位置: Oracle

カタログ区切り記号とカタログ名の場所を決定するために、アプリケーションは sqlGetInfo SQL_CATALOG_NAME_SEPARATORオプションとSQL_CATALOG_LOCATION オプションを使用して呼び出します。 相互運用可能なアプリケーションでは、これらの値に従って識別子を構築する必要があります。

複数の部分を含む識別子を引用符で囲む場合、アプリケーションは各部分を個別に引用符で囲み、識別子を区切る文字を引用符で囲まないよう注意する必要があります。 たとえば、Xbase テーブルのすべての行と列を選択する次のステートメントでは、カタログ名 (\XBASE\SALES\CORP) とテーブル (Parts.dbf) 名は引用符で囲まれますが、カタログ区切り記号 (\) は引用符で囲まれません。

SELECT * FROM "\XBASE\SALES\CORP"\"PARTS.DBF"  

Oracle テーブルのすべての行と列を選択する次のステートメントでは、カタログ (Sales)、スキーマ (企業)、およびテーブル (パーツ) 名は引用符で囲まれますが、カタログ (@) またはスキーマ (.) の区切り記号は引用符で囲まれません。

SELECT * FROM "Corporate"."Parts"@"Sales"  

識別子の引用符についての情報は、次のセクション「引用符で囲まれた識別子」を参照してください。