Spec-Zone.ru › MySQL Connectors 1.0

8.1.3 Настройка поддержки каталога и схемы

Многие реляционные базы данных ссылаются на CATALOG и SCHEMA способами, которые не соответствуют прямо тому, что MySQL называет базой данных. Это ни CATALOG, ни SCHEMA. Обычно каталоги представляют собой коллекции схем, поэтому полное квалифицированное имя будет выглядеть как catalog.schema.table.column. Раньше в драйвере MySQL ODBC CATALOG и DATABASE были двумя именами для одного и того же. В то же время SCHEMA часто использовалось как синоним базы данных MySQL. Это предполагало бы, что CATALOG равно SCHEMA, что неверно, но в контексте сервера MySQL они были бы одним и тем же.

В ODBC при ссылке на объекты базы данных, такие как таблицы, можно использовать как схемы, так и каталоги. Ожидания относительно интерпретации этих понятий схемы и каталога различаются у разработчиков, поэтому существуют оба варианта NO_CATALOG и NO_SCHEMA: для покрытия всех этих ожиданий и для того, чтобы явно отключить интерпретацию параметров функций ODBC как CATALOG или SCHEMA.

Драйвер Connector/ODBC не позволяет одновременно использовать функциональность каталога и схемы, потому что это приведет к недопустимому именованию. Однако некоторые программные продукты, такие как MS SQL Server, могут попытаться сделать это через объекты связанных серверов. Вот почему в Connector/ODBC 8.0.26 был добавлен параметр NO_SCHEMA для драйвера MySQL ODBC, чтобы сообщить, что схемы не поддерживаются, что уже сделано для каталогов с параметром NO_CATALOG. Использование NO_SCHEMA заставляет драйвер сообщать о недопустимости операций со схемами через вызов SQLGetInfo(). В результате клиентское программное обеспечение не будет пытаться получить доступ к таблицам как catalog.schema.table, а вместо этого как catalog.table.

Таблица 8.1 Комбинации NO_CATALOG и NO_SCHEMA Connector/ODBC

Таблица 8.1 Комбинации NO_CATALOG и NO_SCHEMA Connector/ODBC
NO_CATALOG NO_SCHEMA Описание и заметки
true true Драйвер не поддерживает каталоги и схемы.
false true Каталоги поддерживаются и интерпретируются как имена баз данных MySQL, указание схемы вызывает ошибку.
true false Схемы поддерживаются и интерпретируются как имена баз данных MySQL, указание каталога вызывает ошибку.
false false И каталоги, и схемы поддерживаются, но ошибка возникает, если оба указаны одновременно. Если указан только каталог или только схема, он интерпретируется как имя базы данных MySQL.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/connector-odbc-en/connector-odbc-usagenotes-functionality-catalog-schema.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API