Compartilhar via


Posição de catálogo

A posição de um nome de catálogo em um identificador e como ele é separado do restante do identificador varia de fonte de dados para fonte de dados. Por exemplo, em uma fonte de dados do Xbase, o nome do catálogo é um diretório; no Microsoft Windows, ele é separado do nome da tabela (que é um nome de arquivo) por uma barra invertida (\). A ilustração a seguir demonstra essa condição.

Catalog postion: Xbase

Em uma fonte de dados do SQL Server, o catálogo é um banco de dados e é separado dos nomes da tabela e do esquema por um ponto (.).

Catalog postion: SQL Server

Em uma fonte de dados do Oracle, o catálogo também é o banco de dados, mas segue o nome da tabela e é separado dos nomes da tabela e do esquema por um arroba (@).

Catalog postion: Oracle

Para determinar o separador do catálogo e a localização do nome do catálogo, o aplicativo chama SQLGetInfo com as opções SQL_CATALOG_NAME_SEPARATOR e SQL_CATALOG_LOCATION. Aplicativos interoperáveis devem criar identificadores de acordo com esses valores.

Ao citar identificadores que contém mais de uma parte, os aplicativos devem ter cuidado em citar cada parte separadamente e não citar o caractere que separa os identificadores. Por exemplo, a instrução a seguir que seleciona todas as linhas e colunas de uma tabela Xbase cita os nomes de catálogo (\XBASE\SALES\CORP) e tabela (Parts.dbf), mas não o separador do catálogo (\):

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

A instrução a seguir que seleciona todas as linhas e colunas de uma tabela Oracle cita os nomes do catálogo (Sales), do esquema (Corporate) e da tabela (Parts), mas não os separadores do catálogo (@) ou do esquema (.):

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

Para obter informações sobre como citar identificadores, consulte a próxima seção, identificadores entre aspas.