Поделиться через


Позиция каталога

Позиция имени каталога в идентификаторе и его разделение от остальной части идентификатора зависит от источника данных к источнику данных. Например, в источнике данных 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), схемы (Corporate) и таблицы (Части), но не символы разделителей каталога и схемы (например, @ и .):

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

Для получения информации о кавычках для идентификаторов см. в следующем разделе под названием Кавычки идентификаторов.