Spec-Zone.ru › Tcl/Tk

tdbc_odbc

НАЗВАНИЕ
tdbc::odbc — мост TDBC-ODBC
СИНТАКСИС
ОПИСАНИЕ
add
add_system
configure
configure_system
remove
remove_system
ПАРАМЕТРЫ ПОДКЛЮЧЕНИЯ
ПРИМЕРЫ
СМОТРИТЕ ТАКЖЕ
КЛЮЧЕВЫЕ СЛОВА
АВТОРСКИЕ ПРАВА

Имя

tdbc::odbc — мост TDBC-ODBC

Синтаксис

package require tdbc::odbc 1.0
tdbc::odbc::connection create db connectionString ?-option value...?
tdbc::odbc::connection new connectionString ?-option value...?
tdbc::odbc::datasources ?-system|-user?
tdbc::odbc::drivers
tdbc::odbc::datasource command driverName ?keyword-value?...

Описание

Драйвер tdbc::odbc предоставляет интерфейс к базам данных, соответствующий Tcl DataBase Connectivity (TDBC), и позволяет Tcl-скрипту подключаться к любой СУБД, предоставляющей интерфейс ODBC. Он также является наглядным примером написания драйвера базы данных на C, предоставляя основу для дальнейшего развития.

Подключение к базе данных ODBC осуществляется вызовом tdbc::odbc::connection create, передавая ему имя, которое будет использоваться в качестве дескриптора подключения, и стандартную строку подключения ODBC. В качестве альтернативы можно использовать tdbc::odbc::connection new для создания подключения к базе данных с автоматически назначенным именем. Значение, возвращаемое tdbc::odbc::connection new, — это выбранное имя для дескриптора подключения.

Строка подключения должна содержать как минимум ключевое слово DRIVER или DSN и может содержать другие ключевые слова, определённые конкретным драйвером ODBC. (Если локальная система ODBC поддерживает графический интерфейс, параметр -parent (см. ниже) может позволить вызывать tdbc::odbc::connection create со пустой строкой подключения.)

Побочным эффектом tdbc::odbc::connection create является создание нового подключения к базе данных. Подробности использования подключения для работы с базой данных см. в tdbc::connection(n).

В дополнение к стандартному TDBC интерфейсу, tdbc::odbc поддерживает три дополнительных команды. Первая из них, tdbc::odbc::datasources, возвращает список Tcl, перечисляющий именованные источники данных, доступные программе (для подключения с ключевым словом DSN в строке подключения). Результат tdbc::odbc::datasources может быть ограничен только системными источниками данных или только источниками данных пользователя путём включения параметров -system или -user соответственно.

Команда tdbc::odbc::drivers возвращает словарь, ключами которого являются имена драйверов, доступных для ключевого слова DRIVER в строке подключения, а значениями — описания драйверов.

Команда tdbc::odbc::datasource позволяет настроить именованные источники данных на системах, поддерживающих интерфейс программирования приложения ODBC Installer. Она принимает команду, определяющую операцию, имя драйвера базы данных, и набор пар «ключ-значение», которые интерпретируются заданным драйвером. Команда должна быть одной из следующих:

add
Добавляет пользовательский источник данных. Параметры «ключ-значение» должны включать как минимум параметр DSN, задающий имя источника данных
add_system
Добавляет системный источник данных. Параметры «ключ-значение» должны включать как минимум параметр DSN, задающий имя источника данных
configure
Настраивает пользовательский источник данных. Параметры «ключ-значение» обычно включают параметр DSN, задающий имя источника данных. Некоторые драйверы будут поддерживать и другие параметры, например, параметр CREATE_DB для драйвера Microsoft Access на Windows.
configure_system
Настраивает системный источник данных.
remove
Удаляет пользовательский источник данных. Параметры «ключ-значение» должны включать параметр DSN, задающий источник данных для удаления.
remove_system
Удаляет системный источник данных. Параметры «ключ-значение» должны включать параметр DSN, задающий источник данных для удаления.

Параметры подключения

Команда объекта tdbc::odbc::connection create поддерживает параметры -encoding, -isolation, -readonly и -timeout, общие для всех драйверов TDBC. Параметр -encoding будет успешным только если запрошенный кодировка совпадает с кодировкой системы; tdbc::odbc не пытается указать альтернативные кодировки драйверу ODBC. (Некоторые драйверы принимают спецификации кодировки в строке подключения.)

Кроме того, если Tk присутствует в интерпретаторе, и локальный драйвер менеджера ODBC поддерживает графический интерфейс, команда объекта tdbc::odbc::connection create поддерживает параметр -parent, значением которого является имя пути окна Tk. Если этот параметр указан, и строка подключения не содержит всей необходимой информации для подключения к интерфейсу, менеджер драйверов ODBC отобразит диалоговое окно, чтобы запросить любую дополнительную информацию. Интерпретатор ожидает, пока пользователь не закроет диалоговое окно, после чего подключение устанавливается.

Примеры

Поскольку строки подключения ODBC зависят от драйвера, часто бывает сложно найти необходимую документацию для их составления. Следующие примеры работают на большинстве систем Windows и демонстрируют по крайней мере несколько полезных действий, которые может выполнять программа.
tdbc::odbc::connection create db \
    "DSN={PAYROLL};UID={aladdin};PWD={Sesame}"
Подключается к именованному источнику данных "PAYROLL", используя "aladdin" в качестве имени пользователя и "Sesame" в качестве пароля. Имя подключения — db.
set connString {DRIVER={Microsoft Access Driver (*.mdb)};}
append connString {FIL={MS Access}\;}
append connString {DBQ=} \
    [file nativename [file normalize $fileName]]
tdbc::odbc::connection create db2 -readonly 1 $connString
Открывает подключение к файлу базы данных Microsoft Access, имя которого содержится в $fileName. База данных открывается в режиме только для чтения. Результирующее подключение называется "db2".
tdbc::odbc::connection create db3 \
    "DRIVER=SQLite3;DATABASE=$fileName"
Открывает подключение к базе данных SQLite3, имя которой содержится в "$fileName".
tdbc::odbc::datasource add \
    {Microsoft Access Driver (*.mdb)} \
    DSN=MyTestDatabase \
    DBQ=[file native [file normalize $fileName]]
Создаёт новый пользовательский источник данных с именем "MyTestDatabase", связанный с файлом Microsoft Access, путь к которому содержится в "$fileName". Подключение к источнику данных не осуществляется до тех пор, пока программа не вызовет tdbc::odbc::connection create.
tdbc::odbc::datasource configure \
    {Microsoft Access Driver (*.mdb)} \
    CREATE_DB=[file native [file normalize $fileName]] \
    General
Создаёт новую пустую базу данных Microsoft Access в файле, идентифицированном именем "$fileName". Подключение к базе данных не осуществляется до тех пор, пока программа не вызовет tdbc::odbc::connection create.

См. также

tdbc, tdbc::connection, tdbc::resultset, tdbc::statement

Авторские права

Авторские права (c) 2008 г. Кевин Б. Кенни.

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TdbcodbcCmd/tdbc_odbc.htm

Spec-Zone.ru

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