Copyright: Справка по драйверам ODBC Microsoft Desktop Database


Совместимость с SQL92 (дополнение)

Драйверы ODBC баз данных для настольных систем и используемое ими ядро Microsoft Jet не совместимы с SQL92. Они поддерживают многие средства, которые были определены в SQL92. Некоторые средства, поддерживаемые в драйвере, не поддерживаются в SQL92. Подробнее см. в руководстве Microsoft Jet Database Engine Programmer's Guide. Ниже перечислены основные отличия между ними:

•	язык SQL, используемый драйверами баз данных для настольных систем, поддерживает более мощные выражения, чем те, которые применяются в SQL92;

•	разные правила, применяемые к предикату ВETWEEN;

•	в языке SQL, применяемом в драйверах баз данных для настольных систем, и в языке ANSI SQL поддерживаются разные ключевые слова.

Следующие средства SQL92 не поддерживаются Microsoft Jet SQL:

•	инструкции защиты, такие как GRANT и LOCK;

•	ключевое слово DISTINCT со ссылками на статистические функции.

Следующие средства являются расширениями в SQL, который применяется в драйверах баз данных для настольных систем, и отсутствуют в SQL92:

•	инструкция TRANSFORM, обеспечивающая поддержку межтабличных запросов;

•	дополнительные статистические функции (StDev и VarP).


Дополнительная грамматика, поддерживаемая ODBC SQL (дополнение)

Драйверы ODBC полностью поддерживают минимальную грамматику ODBC 2.5 и нижеперечисленные предложения в основной (ядро) и расширенной грамматике ODBC 2.5. Дополнительные сведения можно найти в разделах справки по инструкции ALTER TABLE, взаимосвязанным именам и вызову процедур.

•	Приближенный числовой литерал (ядро)

•	Инструкция ALTER TABLE (ядро)

•	Двоичные литералы (расширение)

•	Предикат BETWEEN (ядро)

•	Взаимосвязанные имена (ядро)

•	Предикат EXISTS (ядро)

•	IN (список_значений) (ядро)

•	Внешние объединения (расширение)

•	Вызов процедуры (расширение)

•	Инструкция SELECT (расширение) (включая предложения GROUP BY, HAVING и UNION)

•	Подчиненные запросы (SUBSELECT) (ядро)

•	Раздел


Инструкция ALTER TABLE (ядро)

См. также

При использовании драйвера Microsoft Access, dBASE или Paradox, инструкция ALTER TABLE поддерживается с предложениями, определяющими ограничения на добавления в таблицы. (Инструкции ALTER TABLE не поддерживаются для драйверов Microsoft Excel или текстового.)

Примечание   Когда используется драйвер Paradox без реализации ядра базы данных Borland, инструкции ALTER TABLE не поддерживаются; разрешены только инструкции чтения и добавления.


Взаимосвязанные имена (ядро)

Взаимосвязанные имена полностью поддерживаются, в том числе в списке таблиц. Например, в следующей строке E1 представляет взаимосвязанное имя для таблицы с именем Emp:

SELECT * FROM Emp E1
WHERE E1.LastName = 'Иванов'


Вызов процедуры (расширение)

Когда используется драйвер Microsoft Access, процедуры могут быть вызваны из драйвера при помощи функции SQLExecDirect или SQLPrepare со следующим синтаксисом: {CALL имя_процедуры[(параметр[,параметр]...)]}. Заметим, что выражения не поддерживаются в качестве параметров вызванной процедуры.

Если имя процедуры включает тире, имя должно быть заключено в обратные кавычки (`).

Запрос с параметрами может быть вызван с использованием предыдущей инструкции.


Предикат BETWEEN

Синтаксис:

выражение1 BETWEEN выражение2 AND выражение3

Возвращает значение TRUE только в том случае, когда выражение1 больше или равно чем выражение2, и выражение1 меньше или равно чем выражение3.

Семантика этого синтаксиса различна для драйверов баз данных для настольных систем и ядра Microsoft Jet. В языке Microsoft Jet SQL выражение2 может быть больше чем выражение3, так что инструкция будет возвращать TRUE, только если выражение1 больше или равно чем выражение3, и выражение1 меньше или равно чем выражение2.


Инструкция CREATE INDEX

См. также

Синтаксис инструкции CREATE INDEX следующий:

CREATE [UNIQUE] INDEX имя_индекса ON имя_таблицы (идентификатор_столбца [ASC][DESC][, идентификатор_столбца [ASC][DESC]...]) WITH <список параметров индекса>

где <список параметров индекса> может быть: PRIMARY | DISALLOW NULL | IGNORE NULL

•	Только драйвер Microsoft Access использует параметры индекса DISALLOW NULL и IGNORE NULL. Драйверы dBASE и Paradox допускают такой синтаксис, но игнорируют наличие любого параметра.

Когда используется драйвер Paradox, инструкция CREATE INDEX создает первичные ключевые файлы Paradox и файлы вторичных ключей.

Эта инструкция не поддерживается драйверами для текста и Microsoft Excel.


Выполнение операций с датами

Драйвер поддерживает сложение и вычитание целого из столбцов DATE, TIME или TIMESTAMP. Для столбца DATE целое определяет число дней, которые надо прибавить или вычесть. Для столбцов TIME или TIMESTAMP целое определяет число секунд, которые надо прибавить или вычесть.


Литералы даты, времени и метки времени

Для максимальной совместимости приложения должны передавать литералы даты в каноническом формате ODBC с использованием синтаксиса escape-предложения:

•	для литералов даты — {d 'значение'}, где значение имеет вид гггг-мм-дд;

•	для литералов времени — {t 'значение'}, где значение имеет вид чч:мм:сс;

•	для литералов метки времени — {ts 'значение'}, где значение имеет вид гггг-мм-дд чч:мм:сс [.f…].


Инструкция DROP INDEX

При использовании драйвера Microsoft Access, dBASE или Paradox, синтаксис инструкции DROP INDEX имеет вид «DROP INDEX a on b», где «a» это имя индекса и «b» это имя таблицы (не DROP INDEX имя_индекса).

При использовании драйвера Paradox, инструкция DROP INDEX удаляет вторичные индексные файлы Paradox.

Инструкция DROP INDEX не поддерживается для драйверов Microsoft Excel или текстового.


Текстовый файл со столбцами фиксированной ширины

При использовании текстового драйвера, последний столбец текстового файла со столбцами фиксированной ширины может быть переменной длины.


GROUP BY список_выражений

GROUP BY поддерживает список выражений также, как и имя столбца. Список для выбора инструкции SELECT, который имеет предложение GROUP BY, может включать только выражения из предложения GROUP BY или функции обработки набора записей.


ORDER BY список_выражений

В предложении ORDER BY могут использоваться выражения. Например, в следующих предложениях таблица упорядочена тремя ключевыми выражениями : a+b, c+d и e.

SELECT * FROM emp
ORDER BY a+b,c+d,e

Упорядочение не разрешено в функциях обработки набора записей или в выражении, содержащем функцию обработки набора записей.


ORDER BY с предложением GROUP BY

Предложение ORDER BY может быть выполнено в любом выражении в GROUP BY список_выражений или в любом столбце результирующего набора записей.


Внешние объединения

Инструкция SELECT может содержать список предложений OUTER JOIN. Поддерживаются вложенные предложения OUTER JOIN. Более подробно о предложениях OUTER JOIN см. руководство Microsoft Jet Database Engine Programmer's Guide.


Скалярные функции

Драйверы Microsoft ODBC баз данных для настольных систем поддерживают следующие скалярные функции:

CONCAT	LCASE	RIGHT
CONVERT	LEFT	RTRIM
CURDATE	LENGTH	SUBSTRING
CURTIME	LOCATE	UCASE
DATABASE	LTRIM	USER
DAYOFMONTH	MOD	YEAR
DAYOFWEEK	MONTH
Сведения об аргументах и возвращаемых значениях скалярных функций можно найти в приложении F справочника Microsoft ODBC Programmer's Reference.


Имена таблиц

При использовании драйвера dBASE, Microsoft Excel, Paradox или текстового, имена таблиц, которые находятся в предложении FROM инструкции SELECT или DELETE, после предложения INTO в INSERT или после UPDATE, CREATE TABLE и DROP TABLE, могут включать допустимый путь, имя и расширение имени файла.

При использовании имени таблицы где-либо в инструкции SQL не поддерживается использование путей или расширений, а допускается только имя (например, EMP FROM C:\ABC\EMP).

Могут использоваться взаимосвязанные имена (псевдонимы). Например:

SELECT *
FROM C:\ABC\EMP T1
WHERE T1.COL1 = 'aaa'


Ограничения на статистические функции

Статистическая функция и ссылка на столбец, не содержащий статистические функции, не могут использоваться в качестве аргументов в одной инструкции SQL.


Ограничения на инструкцию ALTER TABLE

См. также

При использовании драйвера dBASE или Paradox, после того, как создается индекс и добавляется новая запись, структура таблицы не может быть изменена инструкцией ALTER TABLE, если индекс не уничтожен и содержание таблицы не удалено.

Инструкции ALTER TABLE не поддерживаются драйвером Microsoft Excel или текстовым.

Примечание   Когда используется драйвер Paradox без реализации ядра базы данных Borland, инструкции ALTER TABLE не поддерживаются; разрешены только инструкции чтения и добавления.


Ограничения на предикат AND

Поддерживается максимальное количество, равное 40.


Ограничения на инструкцию CALL

(Это ограничение относится только к драйверу Microsoft Access.)

Выражения не поддерживаются в качестве параметров в вызываемой процедуре.


Ограничения на имя столбца

Имена столбцов могут содержать любые допустимые символы (например, пробелы). Если имена столбцов содержат какие-либо символы, кроме букв, цифр и символов подчеркивания, имя должно быть ограничено заключением его в обратные кавычки (`).

При использовании драйвера Microsoft Access или Microsoft Excel, имена столбцов ограничены 64 символами, и более длинные имена порождают ошибку. При использовании драйвера Paradox, максимальное имя столбца составляет 25 символов. При использовании текстового драйвера, максимальное имя столбца составляет 64 символа, а более длинные имена обрезаются.

При использовании драйвера dBASE, символы со значением ASCII больше, чем 127 преобразуются в символы подчеркивания.

При использовании драйвера Microsoft Excel имена столбцов, если они присутствуют, должны находиться в первой строке. Имя, для которого в Microsoft Excel использовался бы символ !, должно быть заключено в обратные кавычки `. Символ ! заменяется на символ $, потому что символ ! не является допустимым в имени ODBC, даже когда имя заключено в обратные кавычки. Все другие допустимые символы Microsoft Excel (кроме символа вертикальной черты (|)) могут использоваться в имени столбца, включая также пробелы. Идентификатор с ограничителями должен использоваться для имени столбца в Microsoft Excel, включающего пробел. Не указанные имена столбцов будут заменены именами, присвоенными драйвером, например, Col1 для первого столбца.

Символ вертикальной черты (|) не может использоваться в имени столбца независимо от того, заключено имя в обратные кавычки или нет.

При использовании текстового драйвера, если имя столбца не указано, драйвер предоставляет имя по умолчанию. Например, драйвер называет первый столбец F1, F2, и так далее.


Ограничения на функцию CONVERT

При неудачных операциях преобразования типа данных соответствующие столбцы получают значения NULL.

Ни тип данных DATE, ни тип данных TIMESTAMP не могут быть преобразованы в другой тип данных (или сами в себя) с помощью функции CONVERT.


Ограничения на инструкцию CREATE INDEX

См. также

Инструкция CREATE INDEX не поддерживается драйвером Microsoft Excel или текстовым.

Индекс может быть определен максимум для 10 столбцов. Если более 10 столбцов включены в инструкцию CREATE INDEX, индекс не будет распознан, и таблица будет обрабатываться, как если бы не было никакого индекса.

Драйвер dBASE не может создавать индекс для столбца LOGICAL.

При использовании драйвера dBASE, время отклика для больших файлов может быть улучшено построением индекса .MDX (или .NDX) по столбцу (полю), указанному в предложениях WHERE инструкции SELECT. Существующие .MDX индексы будут автоматически применяться для =, >, <, >=, =<, для операторов BETWEEN в предложении WHERE, а также для LIKE предикатов, как и в предикатах объединений.

При использовании драйвера dBASE, индекс, созданный инструкцией CREATE UNIQUE INDEX, в действительности не уникальный, и повторяющиеся значения могут быть вставлены в индексированный столбец. К индексу может быть добавлена только одна запись из множества записей с одинаковыми значениями ключа.

При использовании драйвера Paradox, уникальный индекс должен быть определен на непрерывном наборе столбцов в таблице, начиная с первого столбца. Таблица не может быть изменена драйвером Paradox, если уникальный индекс не определен в таблице, или когда драйвер Paradox используется без реализации ядра базы данных Borland.


Ограничения на инструкцию CREATE TABLE

При использовании драйвера Microsoft Access, Microsoft Excel или Paradox, и длина текстового или двоичного столбца не указана (или указана равной 0), длина столбца будет установлена равной 255.

При использовании драйвера dBASE, и длина текстового или двоичного столбца не указана (или указана равной 0), длина столбца будет установлена равной 254.

Поддерживается максимальное количество столбцов, равное 255.

Когда драйвер Microsoft Excel используется с источником данных Microsoft Excel 5.0, 7.0 или 97, лист в электронной таблице не может быть создан с таким же именем, что и предыдущий лист. Когда драйвер Microsoft Excel используется для обращения к листу электронной таблицы версии 5.0, 7.0 или 97, инструкция DROP TABLE очищает лист, но не стирает имя листа.

При использовании драйвера Paradox, столбцы не могут быть добавлены после определения индекса в таблице. Если первый столбец списка аргументов инструкции CREATE TABLE создает индекс, второй столбец не может быть включен в список аргументов.


Ограничения на арифметические операции с датами

Арифметические операции с датами не поддерживаются при вычитании одного значения с типом данных DATE из другого значения типа DATE.


Ограничения на инструкцию DELETE

Инструкция DELETE не поддерживается для драйвера Microsoft Excel или текстового. Заметим, что инструкция INSERT поддерживается для текстового драйвера.

Драйвер dBASE не поддерживает упаковку таблицы для уничтоженных «удаленных» значений.

Чтобы драйвер Paradox мог удалить строку из таблицы, таблица должна иметь уникальный индекс (первичный ключ).


Ограничения на ключевое слово DISTINCT

Ключевое слово DISTINCT не поддерживаются для полей Long Text (Microsoft Access) и Memo (dBASE).


Ограничения на инструкцию DROP INDEX

Инструкция DROP INDEX не поддерживается для драйверов Microsoft Excel и текстового.


Ограничения на инструкцию DROP TABLE

При использовании драйвера Microsoft Excel 5.0, 7.0 или 97, инструкция DROP TABLE очищает лист электронной таблицы, но не удаляет имя листа. Так как имя листа все еще существует в книге, другой лист не может быть создан с тем же именем.


Ограничения на предложение FROM

Максимальное количество таблиц в предложении FROM равно 16.


Ограничения на предложение HAVING

Максимальное количество условий поиска в предложении HAVING равно 40.


Ограничения на идентификаторы

Если идентификатор содержит пробел или специальный символ, идентификатор должен быть заключен в обратные кавычки. Допустимым именем является строка не более чем из 64 символов, из которых первый символ не должен быть пробелом. Допустимые имена не могут включать управляющие символы или следующие специальные символы: ` | # * ? [ ] . ! $ .

Нельзя использовать зарезервированные слова, перечисленные в грамматике SQL в приложении C справочника Microsoft ODBC Programmer's Reference, (или сокращенную форму этих зарезервированных слов) в качестве идентификаторов (то есть, имен таблиц или столбцов), если вы не заключили это слово в обратные кавычки(`).


Ограничения на имя индекса

При использовании драйвера Paradox, первичный индекс должен иметь то же самое имя, что и таблица, в которой он определен. Другие уникальные или неуникальные индексы должны иметь такое же имя, что и таблица, в которой они определены.


Ограничения на инструкцию INSERT

Вставленные данные обрезаются справа без предупреждения, если их длина слишком велика для столбца.

Попытка вставить значение, которое за пределами типа данных для столбца, приводит к вставке в столбец значения NULL.

При использовании драйвера dBASE, Microsoft Excel, Paradox или текстового, вставка строки нулевой длины в столбец фактически вставляет вместо нее NULL.

При использовании драйвера Microsoft Excel, если пустая строка вставляется в столбец, пустая строка преобразуется в значение NULL; инструкция поиска SELECT, которая выполняется с пустой строкой в предложении WHERE, не будет выполнена в этом столбце.

Таблица не изменяется драйвером Paradox при двух условиях:

•	Если в таблице не определен уникальный индекс. Это не верно для пустой таблицы, которая может быть изменена единственной строкой, даже если уникальный индекс не определен в таблице. Если единственная строка вставляется в пустую таблицу, которая не имеет уникального индекса, приложение не может создать уникальный индекс или вставить дополнительные данные после того, как единственная строка была вставлена..

•	Если ядро базы данных Borland не реализовано, в таблице Paradox разрешены только инструкции чтения и добавления.

При использовании текстового драйвера, значения NULL представляются строкой из пробелов в файлах фиксированной длины, но представляются без пробелов в файлах с разделителями. Например, в следующей строке, содержащей три поля, второе поле имеет значение NULL:

     "Петров:,, 123

Когда используется текстовый драйвер, все значения столбцов могут быть дополнены ведущими пробелами. Длина каждого ряда должна быть меньше или равна 65 543 байт.


Ограничения на предикат LIKE

Если данные в столбце длиннее чем 255 символов, операция сравнения LIKE будет основываться только на первых 255 символах.

Предикат LIKE, используемый в процедуре, поддерживается только с постоянными образцами сравнения. Драйверы баз данных для настольных систем поддерживают операции сравнения LIKE языка SQL92.

Использование предложения escape в предикате LIKE не поддерживается.

Сравнение LIKE не должно выполняться в столбце, содержащем данные числового типа или с плавающей точкой. Результаты могут быть непредсказуемые. Подробнее см. руководство Microsoft Jet Database Engine Programmer's Guide.


Ограничения на NOT NULL

Ограничение NOT NULL в инструкции CREATE TABLE не поддерживается.


Ограничения на предложение ORDER BY

Если инструкция SELECT содержит предложение GROUP BY и предложение ORDER BY, предложение ORDER BY может содержать только столбец в результирующем наборе записей или выражение в предложении GROUP BY.


Ограничения на запрос с параметрами

Когда используется драйвер Microsoft Access, запрос с параметрами может быть вызван c использованием следующего синтаксиса: CALL имя_запроса [(параметр[,параметр]...)].


Ограничения на зарезервированные слова

Зарезервированные слова, перечисленные в грамматике SQL в приложении C справочника Microsoft ODBC Programmer's Reference, (или сокращенная форма этих зарезервированных слов) не используются в качестве идентификаторов (то есть, имен таблиц или столбцов), если это слово не взято в обратные кавычки (`).


Ограничения на числовые функции

Числовые функции поддерживаются только при использовании канонического формата ODBC.


Ограничения на SELECT DISTINCT

Ключевое слово DISTINCT не применяется к двоичным данным.


Ограничения на инструкцию SELECT

Столбец статистических функций не может смешиваться со столбцом, не содержащим статистические функции в инструкции SELECT.

Список выбора инструкции SELECT, в которой имеется предложение GROUP BY, может только содержать выражения из предложения GROUP BY или функций набора.

Использование звездочки (чтобы выбрать все столбцы) в инструкции SELECT, содержащей предложение GROUP BY, не поддерживается. Имена выбираемых столбцов должны быть указаны.

Использование символа вертикальной черты в инструкции SELECT не поддерживается. Следует использовать параметр в инструкции SELECT, если необходимо обратиться к значению данных, которое содержит вертикальную черту.

При использовании псевдонима столбца в инструкции SELECT, слово «as» должно предшествовать псевдониму. Например, «SELECT col1 as a from b». Без «as», инструкция будет возвращать ошибку.

Неправильное имя столбца, включенное в инструкцию SELECT, возвращает ошибку SQLSTATE 07001 «Неправильное количество параметров» и ошибку SQLSTATE S0022 «Столбец не найден».

При использовании драйвера Microsoft Excel, если пустая строка вставлена в столбец, то она преобразуется в NULL; инструкция поиска SELECT, которая выполняется с пустой строкой в предложении WHERE, не будет действовать в этом столбце.


Ограничения на функции по набору

Функции по набору (AVG, MAX, MIN и SUM) не поддерживают ключевое слово DISTINCT.


Ограничения на сортировку

Максимальная длина ключа сортировки в предложении GROUP BY, предложении ORDER BY, инструкции SELECT DISTINCT или внешнем объединении составляет 255 байт; максимальная длина всех ключей сортировки в строке сортировки равна 65 500 байт.


Ограничения на строку

Максимальная длина строки инструкции SQL равна 65 000 символов.

При использовании драйвера Microsoft Access, поддерживаются только строковые константы SQL92 (с одинарными, а не с двойными кавычками).

Символ вертикальной черты (|) не может использоваться в строке, независимо от того, заключен символ в обратные кавычки или нет.

Для максимальной совместимости приложения должны передавать строковые значения в параметрах, а не как строки в кавычках.


Ограничения на имя таблицы

Имена таблиц могут содержать любые допустимые символы (например, пробелы). Если имя таблицы содержит любые символы кроме букв, цифр и символов подчеркивания, имя должно быть заключено в обратные кавычки (`).

При использовании драйвера Microsoft Excel, и имя таблицы не определено ссылкой на базу данных, подразумевается база данных по умолчанию. Если имя таблицы Microsoft Excel включает символ !, он будет автоматически преобразован в символ $.

Имя таблицы Microsoft Excel, которое ссылается на <имя_файла>, поддерживается для файлов Microsoft Excel 3.0 и 4.0. Имя таблицы Microsoft Excel, которое ссылается на <имя_книги>, поддерживается для файлов Microsoft Excel 5.0, 7.0 или 97.

При использовании драйвера dBASE, символы со значением ASCII больше, чем 127 преобразуются в символы подчеркивания.

При использовании драйвера Microsoft Access, имя таблицы ограничено 64 символами.

При использовании драйвера dBASE, Microsoft Excel 3.0 или 4.0, Paradox или текстового, специальные ключевые слова MS-DOS такие как CON, AUX, LPT1 и LPT2 не должны использоваться в качестве имен таблиц.


Ограничения на ссылки на таблицы

Максимум 16 ссылок на таблицы может быть включено в любую инструкцию запроса.


Ограничения на инструкцию UPDATE

Чтобы драйвер Paradox мог изменить таблицу, таблица должна иметь уникальный индекс (первичный ключ). Когда используется драйвер Paradox без реализации ядра базы данных Borland, изменить таблицу Paradox невозможно.

Не поддерживается текстовым драйвером.

При использовании драйвера Microsoft Excel, допускается обновление значений, но невозможно удалить строку из таблицы, основанной на электронной таблице Microsoft Excel. В результате считается, что инструкция UPDATE формально не поддерживается драйвером Microsoft Excel. Считается, что поддерживается только инструкция INSERT.


Ограничения на представления

Не поддерживаются драйверами dBASE, Microsoft Excel, Paradox и текстовым.


Ограничения на предложение WHERE

Максимальное количество предложений в предложении WHERE равно 40.

Столбцы LONGVARBINARY и LONGVARCHAR могут сравниваться с литералами до 255 символов длины, но не могут сравниваться с использованием параметров.


Ограничения на предложение WHERE CURRENT OF

Не поддерживаются.


Индексы dBASE (дополнение)

См. также

Драйвер ODBC dBASE автоматически открывает и изменяет индексные файлы dBASE IV. Нужно использовать диалоговое окно выбора индексов, которое открывается при выборе значка ODBC на панели управления, для связывания файлы dBASE III .NDX с файлами dBASE.

Следующие ограничения накладываются на создание индексов dBASE:

•	все имена столбцов должны быть допустимыми;

•	все столбцы должны быть упорядочены в одинаковом восходящем или нисходящем порядке;

•	длина любого одного текстового столбца должна быть меньше, чем 100 байт;

•	если существует более чем один столбец, все столбцы должны быть текстовыми столбцами, и сумма размеров столбцов должна быть меньше, чем 100 байт;

•	поля Memo не могут быть индексированными;

•	индекс не должен быть указан для текущего набора полей (то есть, повторяющиеся индексы не разрешены);

•	имя индекса должно соответствовать соглашению об именах индексов dBASE. База данных dBASE III требует, чтобы каждый индекс был в отдельном файле, каждый из которых имеет расширение .NDX. В базе данных dBASE IV индексы создаются как имена тегов, которые хранятся в единственном файле .MDX. Файл .MDX имеет такое же имя, как и файл базы данных (например, EMP.MDX это индексный файл для базы данных EMP.DBF).


CREATE INDEX для Paradox (дополнение)

См. также

Синтаксис инструкции CREATE INDEX для драйвера ODBC Paradox следующий:

CREATE [UNIQUE] INDEX имя_индекса
   ON имя_таблицы
   (идентификатор_столбца[ASC]
    [, идентификатор_столбца[ASC]...])

Драйвер ODBC Paradox не поддерживает ключевое слово DESC в грамматике ODBC SQL для инструкции CREATE INDEX. Аргумент имя_таблицы может указывать полный путь таблицы.

Если указано ключевое слово UNIQUE, драйвер ODBC Paradox создаст уникальный индекс. Первый уникальный индекс создается как первичный индекс. Это первичный ключевой файл с именем имя_таблицы.PX. На первичные индексы накладываются следующие ограничения:

•	первичный индекс должен быть создан прежде, чем какие-либо строки добавляются к таблице;

•	первичный индекс должен быть определен в первых n столбцах таблицы;

•	разрешен только один первичный индекс для таблицы;

•	таблица не может быть изменена драйвером Paradox, если первичный индекс не определен в таблице. (Заметим, что это не верно для пустой таблицы, которая может быть изменена, даже если уникальный индекс не определен в таблице.);

•	значение аргумента имя_индекса для первичного индекса должно совпадать с именем таблицы без расширения, как требует Paradox.

Если ключевое слово UNIQUE опущено, драйвер ODBC Paradox создает неуникальный индекс. Он состоит из двух вторичных индексных файлов с именами имя_таблицы.Xnn и имя_таблицы.Ynn, где nn это число столбцов в таблице. На неуникальные индексы накладываются следующие ограничения:

•	первичный индекс должен существовать для таблицы перед созданием неуникального индекса;

•	для Paradox 3.x аргумент имя_индекса для любого индекса, отличного от первичного индекса (уникального или неуникального), должен быть тем же самым, что и имя столбца. Для Paradox 4.x и 5.x, имя такого индекса может быть, но не обязано быть, тем же самым, что и имя столбца;

•	для неуникального индекса может быть указан только один столбец.

После создания индекса в таблице добавление столбцов не разрешается. Если первый столбец списка аргументов инструкции CREATE TABLE создает индекс, второй столбец не может быть включен в список аргументов.

Например, для использования столбца с номером заказа на продажу и столбца с номером строки как уникального индекса в таблице SO_LINES применяется инструкция:

CREATE UNIQUE INDEX SO_LINES
   ON SO_LINES (SONum, LineNum)

Для использования столбца с кодом комплектующих (PartNum) как неуникального индекса в таблице SO_LINES применяется инструкция:

CREATE INDEX PartNum
   ON SO_LINES (PartNum)

Заметим, что когда две инструкции CREATE INDEX выполняются, первая инструкция будет всегда создавать первичный файл с тем же именем, что и таблица, а вторая инструкция будет всегда создавать неуникальный индекс с тем же именем, что и столбец. Эти индексы будут иметь такие имена, даже если различные имена входят в инструкции CREATE INDEX и даже если индекс помечен UNIQUE во второй инструкции CREATE INDEX.

Примечание   Когда используется драйвер Paradox без реализации ядра базы данных Borland, разрешены только инструкции чтения и добавления.


Типы данных Microsoft Access (дополнение)

Следующая таблица показывает типы данных Microsoft Access, типы данных, используемые для создания таблиц, и типы данных ODBC SQL.

Тип данных Microsoft Access	Тип данных CREATETABLE	Тип данных ODBC SQL
BIGBINARY(1)	LONGBINARY	SQL_LONGVARBINARY
BINARY	BINARY	SQL_BINARY
BIT	BIT	SQL_BIT
COUNTER	COUNTER	SQL_INTEGER
CURRENCY	CURRENCY	SQL_NUMERIC
DATE/TIME	DATETIME	SQL_TIMESTAMP
GUID	GUID	SQL_GUID
LONG BINARY	LONGBINARY	SQL_LONGVARBINARY
LONG TEXT	LONGTEXT	SQL_LONGVARCHAR (2) SQL_WLONGVARCHAR(3)
MEMO	LONGTEXT	SQL_LONGVARCHAR (2) SQL_WLONGVARCHAR(3)
NUMBER (РазмерПоля= SINGLE)	SINGLE	SQL_REAL
NUMBER (РазмерПоля= DOUBLE)	DOUBLE	SQL_DOUBLE
NUMBER (РазмерПоля= BYTE)	UNSIGNED BYTE	SQL_TINYINT
NUMBER (РазмерПоля= INTEGER)	SHORT	SQL_SMALLINT
NUMBER (РазмерПоля= LONG INTEGER)	LONG	SQL_INTEGER
NUMERIC	NUMERIC	SQL_NUMERIC
OLE	LONGBINARY	SQL_LONGVARBINARY
TEXT	VARCHAR	SQL_VARCHAR (1) SQL_WVARCHAR(2)
VARBINARY	VARBINARY	SQL_VARBINARY
1 Только приложения Access 4.0. Максимальная длина 4000 байт. Характеристики аналогичны LONGBINARY.

2 Только приложения ANSI.

3 Только приложения Unicode и Access 4.0.

Примечание   SQLGetTypeInfo возвращает типы данных ODBC и не возвращает все типы данных Microsoft Access, если несколько типов Microsoft Access соответствуют тому же самому типу данных ODBC SQL. Все преобразования, перечисленные в приложении D справочника Microsoft ODBC Programmer's Reference, поддерживаются для типов данных SQL, перечисленных в предыдущей таблице.

Следующая таблица показывает ограничения на типы данных Microsoft Access.

Тип данных	Описание
BINARY, VARBINARY и VARCHAR	Создание столбца BINARY, VARBINARY или VARCHAR нулевой или не указанной длины фактически возвращает 510-байтовый столбец.
BYTE	Даже если поле Microsoft Access типа NUMBER с длиной поля, равной BYTE, не имеет знака, при использовании драйвера Microsoft Access, в поле может быть помещено отрицательное число.
CHAR, LONGVARCHAR, и VARCHAR	Строковый литерал может содержать любой символ ANSI (с десятичными кодами 1-255). Для представления одинарной кавычки (') необходимо использовать две последовательные одинарные кавычки (''). Для передачи строковых данных, когда используется любой специальный символ в столбце строкового типа, должны использоваться процедуры.
DATE	Значения даты должны быть представлены с ограничителями в соответствии с каноническим форматом даты ODBC или представлены с ограничителем значений даты-времени (#). Иначе, Microsoft Access будет обращаться со значением как с арифметическим выражением и не будет сообщать о предупреждении или ошибке.  Например, дата 5 марта 1996 должна быть представлена как {d '1996-03-05'} или #03/05/1996#; иначе, если представлено только значение 03/05/1993, Microsoft Access будет оценивать это как 3, деленное на 5, деленное на 1996. Это значение округляется до целого 0, и, поскольку нулевое значения дня соответствует дате 1899-12-31, будет использоваться эта дата. Символ вертикальной черты (|) не может использоваться в значении даты, даже при заключении в обратные кавычки.
GUID	Тип данных, ограниченный Microsoft Access 4.0.
NUMERIC	Тип данных, ограниченный Microsoft Access 4.0.
Более подробно об ограничениях на типы данных см. в разделе Ограничения на тип данных.


Типы данных dBASE (дополнение)

Следующая таблица показывает как типы данных dBASE сопоставляются с типами данных ODBC SQL. Заметим, что не все типы данных ODBC SQL поддерживаются.

Тип данных dBASE	Тип данных ODBC
CHAR	SQL_VARCHAR
DATE	SQL_DATE
FLOAT *	SQL_DOUBLE
LOGICAL	SQL_BIT
MEMO	SQL_LONGVARCHAR
NUMERIC (BCD)	SQL_DOUBLE
OLEOBJECT *	SQL_LONGBINARY
* Допустимо только для dBASE версии 5.x

Точность в dBASE III допускает числа с двумя разрядами в показателе степени и в dBASE IV числа с тремя разрядами в показателе степени. Так как числа хранятся как текст, они преобразуются в числа. Если преобразуемое число не соответствует полю, может иметь место непредсказуемый результат.

В то время как dBASE разрешает точность и масштаб, указанные в типе данных NUMERIC, это не поддерживается драйвером ODBC dBASE. Драйвер ODBC dBASE всегда возвращает точность 15 и масштаб 0 для типа данных NUMERIC.

Столбец, созданный с типом данных Numeric, при использовании драйвера ODBC dBASE, сопоставляется с типом данных SQL_DOUBLE ODBC. Таким образом данные в этом столбце подлежат округлению. Это отличается от характеристик типа данных NUMERIC в dBASE (тип N), который представляется как десятичное значение в двоичной кодировке (BCD).

Примечание   SQLGetTypeInfo возвращает типы данных ODBC SQL. Все преобразования в приложении D справочника Microsoft ODBC Programmer's Reference поддерживаются для типа данных ODBC SQL, перечисленных ранее в этом разделе.

Следующая таблица показывает ограничения на типы данных dBASE.

Тип данных	Описание
CHAR	Создание столбца CHAR нулевой или неуказанной длины фактически возвращает 254-байтовый столбец.
Зашифрованные данные	Драйвер dBASE не поддерживает шифрованные таблицы dBASE.
LOGICAL	Драйвер dBASE не может создать индекс для столбца LOGICAL.
MEMO	Максимальная длина столбца MEMO составляет 65,500 байт.
Более подробно об ограничениях на типы данных см. в разделе Ограничения на тип данных.


Типы данных Microsoft Excel (дополнение)

Следующая таблица показывает, как типы данных драйвера Microsoft Excel сопоставляются с типами данных ODBC SQL. Драйвер Microsoft Excel присваивает эти типы данных столбцам в таблицах Microsoft Excel на основании данных в текущем столбце.

Тип данных Microsoft Excel	Тип данных ODBC
CURRENCY	SQL_NUMERIC
DATETIME	SQL_TIMESTAMP
LOGICAL	SQL_BIT
NUMBER	SQL_DOUBLE
TEXT	SQL_VARCHAR
Примечание   SQLGetTypeInfo возвращает типы данных ODBC SQL. Все преобразования в приложении D справочника Microsoft ODBC Programmer's Reference поддерживаются для типов данных ODBC SQL, перечисленных ранее в этом разделе.

Следующая таблица показывает ограничения на типы данных Microsoft Excel.

Тип данных	Описание
Зашифрованные данные	Драйвер Microsoft Excel не может читать зашифрованные данные.
Строки ошибок	Драйвер Microsoft Excel не может возвращать строку символов для значений ошибок Microsoft Excel (#N/A!, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME? и #NULL!). Вместо этого возвращается значение NULL.
LOGICAL	Значение в столбце LOGICAL возвращается в буфер SQL_C_CHAR как 0 или 1.
NUMBER	Если создан целый столбец, числа, которые слишком велики для целого типа данных, могут быть в него введены. Данные, содержащие нецелые значения, могут быть вставлены таким образом, чтобы в результате столбец мог быть преобразован к типу SQL_DOUBLE.
TEXT	Когда строки столбца содержат более чем один тип данных Microsoft Excel, драйвер ODBC Microsoft Excel присваивает столбцу тип данных SQL_VARCHAR. Кроме одного исключения: если столбец содержит только два или три типа данных даты-времени (DATE, TIME и DATETIME), драйвер ODBC Microsoft Excel присваивает столбцу тип данных SQL_TIMESTAMP. Создание столбца TEXT нулевой или неуказанной длины фактически возвращает 255-байтовый столбец. Символьный строчной литерал может содержать любой символ ANSI (1-255 десятичное). Для представления одной одинарной кавычки (') необходимо использовать две последовательные одинарные кавычки ("). Вставка NULL в столбец с другим типом данных, чем SQL_VARCHAR, приведет к замене типа данных столбца на SQL_VARCHAR.
Более подробно об ограничениях на типы данных см. в разделе Ограничения на типы данных.


Типы данных Paradox (дополнение)

Драйвер ODBC Paradox сопоставляет типы данных Paradox с типами данных ODBC SQL. Следующая таблица перечисляет все типы данных Paradox и показывает типы данных ODBC SQL, с которыми они сопоставляются.

Тип данных Paradox	Тип данных ODBC
ALPHANUMERIC	SQL_VARCHAR
AUTOINCREMENT #	SQL_INTEGER
BCD #	SQL_DOUBLE
BYTES #	SQL_BINARY
DATE	SQL_DATE
IMAGE *	SQL_LONGVARBINARY
LOGICAL #	SQL_BIT
LONG #	SQL_INTEGER
MEMO *	SQL_LONGVARCHAR
MONEY #	SQL_DOUBLE
NUMBER	SQL_DOUBLE
SHORT	SQL_SMALLINT
TIME #	SQL_TIMESTAMP
TIMESTAMP #	SQL_TIMESTAMP
* Допустимый только для Paradox версии 4.x и 5.x.

# Допустимый только для Paradox версии 5.x.

Примечание   SQLGetTypeInfo возвращает типы данных ODBC SQL. Все преобразования в приложении D справочника Microsoft ODBC Programmer's Reference поддерживаются для типов данных ODBC SQL, перечисленных ранее в этом разделе.

Следующая таблица показывает ограничения на типы данных Paradox.

Тип данных	Описание
ALPHANUMERIC	Создание столбца ALPHANUMERIC нулевой или неуказанной длины фактически возвращает 255-байтовый столбец.
BYTES	Если NULL вставляется в двоичный столбец с использованием драйвера Paradox5, он заменяется на 0.
LONG	Максимальное отрицательное значение, поддерживаемое драйвером Paradox для типа данных Long в Paradox 5.x, не равно -2^31 (-2147483648), как это должно быть, так как Long сопоставляется с типом данных ODBC SQL_INTEGER. Максимальное отрицательное значение, поддерживаемое для Long, равно фактически -2^31 + 1 (-2147483647).
TIMESTAMP	Когда значение вставляется в столбец TIMESTAMP драйвером Paradox, затем впоследствии возвращается из столбца, возвращенное значение может отличаться от вставленного значения не более чем на 1 секунду из-за округления.
Более подробно об ограничениях на типы данных см. в разделе Ограничения на типы данных.


Типы данных для текстовых файлов (дополнение)

Следующая таблица показывает, как типы данных для текстовых файлов сопоставляются с типами данных ODBC SQL. Заметим, что не все типы данных ODBC SQL поддерживаются текстовым драйвером ODBC.

Текстовый тип данных	Тип данных ODBC
CHAR	SQL_VARCHAR
DATETIME	SQL_TIMESTAMP
FLOAT	SQL_DOUBLE
INTEGER	SQL_INTEGER
LONGCHAR	SQL_LONGVARCHAR
Примечание   SQLGetTypeInfo возвращает типы данных ODBC. Все преобразования в приложении D справочника Microsoft ODBC Programmer's Reference поддерживаются для типов данных SQL, перечисленных в предыдущей таблице.

Следующая таблица показывает ограничения на текстовые типы данных.

Тип данных	Описание
CHAR	Создание столбца CHAR нулевой или неуказанной длины фактически возвращает 255-битовый столбец. В файлах с разделителями, столбец CHAR может иметь, а может не иметь в качестве разделителей прямые кавычки в начале и в конце поля; в файлах с фиксированной длиной полей двойные кавычки не используются в качестве разделителей.
DATETIME	MM-ДД-ГГ (например, 01-17-92) MMM-ДД-ГГ (например, Янв-17-92) ДД-MMM-ГГ (например, 17-Янв-92) ГГГГ-MM-ДД (например, 1992-01-17) ГГГГ-MMM-ДД (например, 1992-Янв-17) Внутри таблицы не разрешается смешивать разделители даты. Текстовый драйвер ISAM задает для поля DATETIME американский или европейский формат, зависящий от национальной настройки, заданной в панели управления Windows.
FLOAT	Максимальная ширина включает знак и десятичную точку. В файле Schema.ini ширина указывается следующим образом: 14.083 представляет FLOAT Width 6 -14.083 представляет FLOAT Width 7 +14.083 представляет FLOAT Width 7 14083. представляет FLOAT Width 6 ODBC всегда возвращает 8 для столбцов FLOAT. Столбцы FLOAT могут также быть в научной нотации, например: -3.04E+2 представляет Float Width 8 25E4 представляет Float Width 4 Примечание   В одном столбце нельзя использовать десятичную и научную нотацию. Значения NULL представляются строкой из пробелов в файлах фиксированной длины и опускаются в файлах с разделителями. К данным типа Float могут добавляться ведущие пробелы.
INTEGER	Допустимые значения для столбцов INTEGER составляют от 32767 до -32766. В файле Schema.ini ширина указывается следующим образом: 14083 представляет INTEGER Width 5 0 представляет INTEGER Width 1 ODBC всегда возвращает 4 для столбцов INTEGER. Максимальная ширина включает знак. Максимальная ширина столбца INTEGER равна 11, хотя ширина может быть больше из-за пробелов, которые разрешены в таблицах формата с фиксированной шириной.
LONGCHAR	Теоретический предел на ширину столбца LONGCHAR как в таблице с фиксированной длиной полей, так и в таблице с разделителями равен 65500 K. Текстовый драйвер ISAM гарантированно поддерживает длину поля до 32 K.
Более подробно об ограничениях на типы данных см. в разделе Ограничения на тип данных.


Ограничения на типы данных (дополнение)

Драйверы Microsoft ODBC баз данных для настольных систем накладывают следующие ограничения на типы данных:

Тип данных	Описание
Все типы данных	При неудачных операциях преобразования типа данных соответствующие столбцы получают значения NULL.
BINARY	Создание столбца BINARY нулевой длины фактически возвращает 255-байтовый столбец BINARY.
DATE	Тип данных DATE не может быть преобразован в другой тип данных (или в самого себя) с помощью функции CONVERT.
DECIMAL (Точный числовой)	Не поддерживается.
Типы данных с плавающей точкой	Количество десятичных знаков в числе с плавающей точкой может быть ограничено форматом числа, установленным в национальных настройках на панели управления Windows.
NUMERIC	Поддерживает максимальную точность и масштаб, равный 28.
TIMESTAMP	Тип данных TIMESTAMP не может быть преобразован в самого себя с помощью функции CONVERT.
TINYINT	Значения TINYINT всегда не имеют знака.
Строки нулевой длины	При использовании драйвера dBASE, Microsoft Excel, Paradox или текстового, вставка строки нулевой длины в столбец приводит к вставке значения NULL.


Сообщения об ошибках (дополнение)

При возникновении ошибки драйверы Microsoft ODBC баз данных для настольных систем возвращают собственный номер ошибки, SQLSTATE (код ошибки ODBC) и сообщение об ошибке.

Собственная ошибка

Положительные собственные коды ошибок порождаются драйверами баз данных для настольных систем. Отрицательные коды ошибок порождаются ядром Microsoft Jet. Подробнее, см. руководство Microsoft Jet Database Engine Programmer's Guide.

SQLSTATE

Ошибки, которые возникают в источнике данных, драйвер ODBC преобразует в собственную ошибку с соответствующим состоянием SQLSTATE. Для ошибок, которые обнаруживаются драйвером или диспетчером драйверов, драйвер ODBC или диспетчер драйверов порождает соответствующее состояние SQLSTATE.

Сообщение об ошибке

Для ошибок, возникающих в источнике данных, драйвер ODBC возвращает сообщение об ошибках, возвращаемое ему библиотекой файлов ODBC. Для ошибок, возникающих в драйвере ODBC или в диспетчере драйверов, драйвер возвращает сообщение об ошибке, основанное на тексте, связанном с состоянием SQLSTATE.

Сообщения об ошибках имеют следующий формат:

[поставщик][компонент_ODBC][источник_данных]текст_сообщения

где префиксы в квадратных скобках ([ ]) указывают место возникновения ошибки. Когда ошибка возникает в диспетчере драйверов, источник_данных не сообщается. Когда ошибка возникает в источнике данных, префиксы [поставщик] и [компонент_ODBC] обозначают поставщика ошибки и имя компонента ODBC, который получает ошибку из источника данных.

Следующая таблица показывает сообщения об ошибках, возвращаемые диспетчером драйверов и драйвером ISAM:

Сообщение об ошибке	Положение ошибки
[Microsoft][ODBC Driver Manager] текст_сообщения	Диспетчер драйверов (Odbc32.dll)
[Microsoft][ODBC имя_драйвера] текст_сообщения	Драйвер ISAM (см. Драйверы ISAM)


Возвращаемые значения SQLGetInfo

В следующей таблице перечислены директивы препроцессора #define языка C для аргумента fInfoType и соответствующие значения, возвращаемые с помощью SQLGetInfo. Эти сведения могут быть получены путем передачи перечисленных определений #define языка C в функцию SQLGetInfo через аргумент fInfoType. Там где SQLGetInfo возвращает 32-битовую маску, вертикальная черта (|) представляет битовую операцию OR. Более подробно о значениях, возвращаемых с помощью SQLGetInfo, см. в справочнике Microsoft ODBC Programmer's Reference, Version 2.0 или в более поздних выпусках.

SQL_ACCESSIBLE_PROCEDURES

SQL_ACCESSIBLE_TABLES

SQL_ACTIVE_CONNECTIONS

SQL_ACTIVE_ENVIRONMENTS

SQL_ACTIVE_STATEMENTS

SQL_AGGREGATE_FUNCTIONS

SQL_ALTER_DOMAIN

SQL_ALTER_TABLE

SQL_ASYNC_MODE

SQL_BATCH_ROW_COUNT

SQL_BATCH_SUPPORT

SQL_BOOKMARK_PERSISTENCE

SQL_CATALOG_NAME

SQL_COLLATION_SEQ

SQL_COLUMN_ALIAS

SQL_CONCAT_NULL_BEHAVIOR

SQL_CONVERT_BIGINT

SQL_CONVERT_BINARY

SQL_CONVERT_BIT

SQL_CONVERT_CHAR

SQL_CONVERT_DATE

SQL_CONVERT_DECIMAL

SQL_CONVERT_DOUBLE

SQL_CONVERT_FLOAT

SQL_CONVERT_FUNCTIONS

SQL_CONVERT_INTEGER

SQL_CONVERT_LONGVARBINARY

SQL_CONVERT_LONGVARCHAR

SQL_CONVERT_NUMERIC

SQL_CONVERT_REAL

SQL_CONVERT_SMALLINT

SQL_CONVERT_TIME

SQL_CONVERT_TIMESTAMP

SQL_CONVERT_TINYINT

SQL_CONVERT_VARBINARY

SQL_CONVERT_VARCHAR

SQL_CORRELATION_NAME

SQL_CREATE_ASSERTION

SQL_CREATE_CHARACTER_SET

SQL_CREATE_COLLATION

SQL_CREATE_DOMAIN

SQL_CREATE_SCHEMA

SQL_CREATE_TABLE

SQL_CREATE_TRANSLATION

SQL_CREATE_VIEW

SQL_CURSOR_COMMIT_BEHAVIOR

SQL_CURSOR_ROLLBACK_BEHAVIOR

SQL_CURSOR_SENSITIVITY

SQL_DATA_SOURCE_NAME

SQL_DATA_SOURCE_READ_ONLY

SQL_DATABASE_NAME

SQL_DATETIME_LITERALS

SQL_DBMS_NAME

SQL_DBMS_VER

SQL_DDL_INDEX

SQL_DEFAULT_TXN_ISOLATION

SQL_DESCRIBE_PARAMETER

SQL_DRIVER_HDBC

SQL_DRIVER_HENV

SQL_DRIVER_HLIB

SQL_DRIVER_HSTMT

SQL_DRIVER_NAME

SQL_DRIVER_ODBC_VER

SQL_DRIVER_VER

SQL_DROP_ASSERTION

SQL_DROP_CHARACTER_SET

SQL_DROP_COLLATION

SQL_DROP_DOMAIN

SQL_DROP_SCHEMA

SQL_DROP_TABLE

SQL_DROP_TRANSLATION

SQL_DROP_VIEW

SQL_EXPRESSIONS_IN_ORDERBY

SQL_FETCH_DIRECTION

SQL_FILE_USAGE

SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1

SQL_GETDATA_EXTENSIONS

SQL_GROUP_BY

SQL_IDENTIFIER_CASE

SQL_IDENTIFIER_QUOTE_CHAR

SQL_KEYWORDS

SQL_LIKE_ESCAPE_CLAUSE

SQL_LOCK_TYPES

SQL_MAX_BINARY_LITERAL_LEN

SQL_MAX_CHAR_LITERAL_LEN

SQL_MAX_COLUMN_NAME_LEN

SQL_MAX_COLUMNS_IN_GROUP_BY

SQL_MAX_COLUMNS_IN_INDEX

SQL_MAX_COLUMNS_IN_ORDER_BY

SQL_MAX_COLUMNS_IN_SELECT

SQL_MAX_COLUMNS_IN_TABLE

SQL_MAX_CURSOR_NAME_LEN

SQL_MAX_INDEX_SIZE

SQL_MAX_OWNER_NAME_LEN

SQL_MAX_PROCEDURE_NAME_LEN

SQL_MAX_QUALIFIER_NAME_LEN

SQL_MAX_ROW_SIZE

SQL_MAX_ROW_SIZE_INCLUDES_LONG

SQL_MAX_STATEMENT_LEN

SQL_MAX_TABLE_NAME_LEN

SQL_MAX_TABLES_IN_SELECT

SQL_MAX_USER_NAME_LEN

SQL_MULT_RESULT_SETS

SQL_MULTIPLE_ACTIVE_TXN

SQL_NEED_LONG_DATA_LEN

SQL_NON_NULLABLE_COLUMNS

SQL_NULL_COLLATION

SQL_NUMERIC_FUNCTIONS

SQL_ODBC_API_ CONFORMANCE

SQL_ODBC_SAG_CLI_ CONFORMANCE

SQL_ODBC_SQL_CONFORMANCE

SQL_ODBC_SQL_OPT_IEF

SQL_ODBC_VER

SQL_OJ_CAPABILITIES

SQL_ORDER_BY_COLUMNS_IN_SELECT

SQL_OUTER_JOINS

SQL_OWNER_TERM

SQL_OWNER_USAGE

SQL_POS_OPERATIONS

SQL_POSITIONED_STATEMENTS

SQL_PROCEDURE_TERM

SQL_PROCEDURES

SQL_QUALIFIER_LOCATION

SQL_QUALIFIER_NAME_SEPARATOR

SQL_QUALIFIER_TERM

SQL_QUALIFIER_USAGE

SQL_QUOTED_IDENTIFIER_CASE

SQL_ROW_UPDATES

SQL_SCROLL_CONCURRENCY

SQL_SCROLL_OPTIONS

SQL_SEARCH_PATTERN_ESCAPE

SQL_SERVER_NAME

SQL_SPECIAL_CHARACTERS

SQL_STATIC_SENSITIVITY

SQL_STRING_FUNCTIONS

SQL_SUBQUERIES

SQL_SYSTEM_FUNCTIONS

SQL_TABLE_TERM

SQL_TIMEDATE_ADD_INTERVALS

SQL_TIMEDATE_DIFF_INTERVALS

SQL_TIMEDATE_FUNCTIONS

SQL_TXN_CAPABLE

SQL_TXN_ISOLATION_OPTION

SQL_UNION

SQL_USER_NAME


SQL_ACCESSIBLE_PROCEDURES

Y
(Microsoft Access)

N
(dBASE, Microsoft Excel, Paradox, Текстовый)


SQL_ACCESSIBLE_TABLES

Y


SQL_ACTIVE_CONNECTIONS

64


SQL_ACTIVE_ENVIRONMENTS

0


SQL_ACTIVE_STATEMENTS

0


SQL_AGGREGATE_FUNCTIONS

Весь набор


SQL_ALTER_DOMAIN

0

(Microsoft Access)


SQL_ALTER_TABLE

SQL_AT_ADD_COLUMN |
SQL_AT_DROP_COLUMN
(dBASE, Paradox)

0
(Microsoft Access, Microsoft Excel, Текстовый)


SQL_ASYNC_MODE

0
(Microsoft Access)


SQL_BATCH_ROW_COUNT

0
(Microsoft Access)


SQL_BATCH_SUPPORT

0
(Microsoft Access)


SQL_BOOKMARK_PERSISTENCE

SQL_BP_SCROLL |
SQL_BP_UPDATE (1)

1 Закладки сохраняются после завершениятранзакции, но не сохраняются после отката.


SQL_CATALOG_NAME

Y


SQL_COLLATION_SEQ

Пустая строка


SQL_COLUMN_ALIAS

Y


SQL_CONCAT_NULL_BEHAVIOR

SQL_CB_NON_NULL


SQL_CONVERT_BIGINT

0


SQL_CONVERT_BINARY

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_BIT

0


SQL_CONVERT_CHAR

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_DATE

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_DECIMAL

0


SQL_CONVERT_DOUBLE

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_FLOAT

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_FUNCTIONS

SQL_FN_CVT_CONVERT


SQL_CONVERT_INTEGER

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_LONGVARBINARY

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_LONGVARCHAR

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_NUMERIC

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_REAL

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_SMALLINT

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_TIME

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_TIMESTAMP

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_TINYINT

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_VARBINARY

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CONVERT_VARCHAR

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR


SQL_CORRELATION_NAME

SQL_CN_DIFFERENT


SQL_CREATE_ASSERTION

0
(Microsoft Access)


SQL_CREATE_CHARACTER_SET

0
(Microsoft Access)


SQL_CREATE_COLLATION

0
(Microsoft Access)


SQL_CREATE_DOMAIN

0
(Microsoft Access)


SQL_CREATE_SCHEMA

0
(Microsoft Access)


SQL_CREATE_TABLE

TABLE
(Microsoft Access)


SQL_CREATE_TRANSLATION

0
(Microsoft Access)


SQL_CREATE_VIEW

SQL_CV_CREATE_VIEW
(Microsoft Access)


SQL_CURSOR_COMMIT_BEHAVIOR

SQL_CB_CLOSE


SQL_CURSOR_ROLLBACK_BEHAVIOR

SQL_CB_CLOSE


SQL_CURSOR_SENSITIVITY

SQL_UNSPECIFIED


SQL_DATA_SOURCE_NAME

DSN из Odbc.ini или "" если ключевое слово DRIVER используется в Odbc.ini


SQL_DATA_SOURCE_READ_ONLY

N
(Microsoft Access, dBASE, Paradox)

Y
(Microsoft Excel, Текстовый)


SQL_DATABASE_NAME

Имя файла (Microsoft Access, Microsoft Excel 5.0/7.0//97)

Текущий каталог базы данных (dBASE, Microsoft Excel 3.0/4.0, Paradox, Текстовый)


SQL_DATETIME_LITERALS

0
(Microsoft Access)


SQL_DBMS_NAME

ACCESS  (Microsoft Access)
DBASE  (dBASE)
EXCEL  (Microsoft Excel)
PARADOX  (Paradox)
TEXT  (Текстовый)


SQL_DBMS_VER

ISAM	Версия	Формат номеров версий
Microsoft Access	2.0 3.0 3.5 4.0	02.00.0000 03.00.0000 03.50.0000 04.00.0000 (Версии 1.0 и 1.1 не поддерживаются.) (Нет разницы в формате данных в версиях Microsoft Access 3.0, 7.0 и 97.)
dBASE	3.0 4.0 5.0	03.0n.nnnn 04.0n.nnnn 05.0n.nnnn
Microsoft Excel	3.0 4.0 5.0 7.0, 97	03.0n.nnnn 04.0n.nnnn 05.0n.nnnn 07.0n.nnnn
Paradox	3.x 4.x 5.x	03.nn.nnnn 04.nn.nnnn 05.nn.nnnn
Текстовый	1.0	01.0n.nnnn


SQL_DDL_INDEX

CREATE, DROP
(Microsoft Access)


SQL_DEFAULT_TXN_ISOLATION

SQL_TXN_READ_COMMITTED [Microsoft Access]

0 [dBASE, Microsoft Excel, Paradox, Текстовый]


SQL_DESCRIBE_PARAMETER

0
(Microsoft Access)


SQL_DRIVER_HDBC

Обрабатывается диспетчером драйверов.


SQL_DRIVER_HENV

Обрабатывается диспетчером драйверов.


SQL_DRIVER_HLIB

Обрабатывается диспетчером драйверов.


SQL_DRIVER_HSTMT

Обрабатывается диспетчером драйверов.


SQL_DRIVER_NAME

OdbcJt32.dll


SQL_DRIVER_ODBC_VER

3.51.0000


SQL_DRIVER_VER

 4.00.nnnn  (nnnn указывает дату сборки.)


SQL_DROP_ASSERTION

0
(Microsoft Access)


SQL_DROP_CHARACTERSET

0
(Microsoft Access)


SQL_DROP_COLLATION

0
(Microsoft Access)


SQL_DROP_DOMAIN

0
(Microsoft Access)


SQL_DROP_SCHEMA

0
(Microsoft Access)


SQL_DROP_TABLE

SQL_DT_DROP_TABLE
(Microsoft Access)


SQL_DROP_TRANSLATION

0
(Microsoft Access)


SQL_DROP_VIEW

SQL_DV_DROP_VIEW
(Microsoft Access)


SQL_EXPRESSIONS_IN_ORDERBY

Y


SQL_FETCH_DIRECTION

SQL_FD_FETCH_NEXT |
SQL_FD_FETCH_FIRST |
SQL_FD_FETCH_LAST |
SQL_FD_FETCH_PRIOR |
SQL_FD_FETCH_ABSOLUTE |
SQL_FD_FETCH_RELATIVE |
SQL_FD_FETCH_BOOKMARK


SQL_FILE_USAGE

SQL_FILE_QUALIFIER
(Microsoft Access, Microsoft Excel 5.0, 7.0 или 97)

SQL_FILE_TABLE
(dBASE, Microsoft Excel 3.0 или 4.0, Paradox, Текстовый)


SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1

NEXT, LOCK_NO_CHANGE, POS_POSITION, POS_UPDATE
(Microsoft Access)


SQL_GETDATA_EXTENSIONS

SQL_GD_ANY_ORDER |
SQL_GD_ANY_COLUMN |
SQL_GD_BLOCK |
SQL_GD_BOUND


SQL_GROUP_BY

SQL_GB_GROUP_BY_CONTAINS_SELECT


SQL_IDENTIFIER_CASE

SQL_IC_MIXED
(Microsoft Access, Microsoft Excel, Paradox, Текстовый)

SQL_IC_UPPER (1)
(dBASE)

1 Этот идентификатор возвращается в смешанном регистре, чтобы Windows NT могла найти каталог.


SQL_IDENTIFIER_QUOTE_CHAR

` (обратная кавычка)


SQL_KEYWORDS

ALPHANUMERIC, AUTOINCREMENT, BINARY, BOOLEAN, BYTE, COUNTER, CURRENCY, DATABASE, DATABASENAME, DATETIME, DISALLOW, DISTINCTROW, DOUBLEFLOAT, FLOAT4, FLOAT8, GENERAL, IEEEDOUBLE, IEEESINGLE, IGNORE, IMAGE, INTEGER1, INTEGER2, INTEGER4, LOGICAL, LOGICAL1, LONG, LONGBINARY, LONGCHAR, LONGTEXT, MEMO, MONEY, NOTE, NUMBER, OLEOBJECT, OWNERACCESS, PARAMETERS, PERCENT, PIVOT, SHORT, SINGLE, SINGLEFLOAT, STDEV, STDEVP, STRING, TABLEID, TEXT, TOP, TRANSFORM, UNSIGNEDBYTE, VAR, VARBINARY, VARP, YESNO


SQL_LIKE_ESCAPE_CLAUSE

N


SQL_LOCK_TYPES

SQL_LCK_NO_CHANGE


SQL_MAX_BINARY_LITERAL_LEN

255


SQL_MAX_CHAR_LITERAL_LEN

255  (Microsoft Access)
254  (dBASE)
255  (Microsoft Excel 3.0, 4.0, 5.0 или 7.0)
65535 (Microsoft Excel 97)
255  (Paradox)
255  (Текстовый)


SQL_MAX_COLUMN_NAME_LEN

64  (Microsoft Access)
10  (dBASE)
64  (Microsoft Excel 5.0, 7.0 или 97)
30  (Microsoft Excel 3.0 или 4.0)
25  (Paradox)
64  (Текстовый)


SQL_MAX_COLUMNS_IN_GROUP_BY

10


SQL_MAX_COLUMNS_IN_INDEX

32  (Microsoft Access)
0  (Предел неизвестен или неприменим)  (dBase)
0  (Microsoft Excel)
0  (Предел неизвестен или неприменим)  (Paradox)
0  (Текстовый)


SQL_MAX_COLUMNS_IN_ORDER_BY

10


SQL_MAX_COLUMNS_IN_SELECT

255


SQL_MAX_COLUMNS_IN_TABLE

255

Когда используется драйвер Microsoft Excel, инструкция CREATE TABLE может разрешать создание 256 столбцов, но действуют ограничение в 255 столбцов, и вставка столбца с номером 256 выполнена не будет.


SQL_MAX_CURSOR_NAME_LEN

64


SQL_MAX_INDEX_SIZE

255  	(Microsoft Access)
220  	(dBASE)
0  	(Microsoft Excel)
1350  	(Paradox)
0  	(Текстовый)


SQL_MAX_OWNER_NAME_LEN

0


SQL_MAX_PROCEDURE_NAME_LEN

64  (Microsoft Access)
0  (dBASE)
0  (Microsoft Excel)
0  (Paradox)
0  (Текстовый)


SQL_MAX_QUALIFIER_NAME_LEN

66


SQL_MAX_ROW_SIZE

2096  (Microsoft Access)
4000  (dBASE)
65535  (Microsoft Excel)
1350   (Paradox)
65535  (Текстовый)


SQL_MAX_ROW_SIZE_INCLUDES_LONG

N  (Microsoft Access)
N  (dBASE)
Y  (Microsoft Excel)
N  (Paradox)
Y  (Текстовый)


SQL_MAX_STATEMENT_LEN

65000


SQL_MAX_TABLE_NAME_LEN

64  (Microsoft Access)
12  (dBASE)
31  (Microsoft Excel 5.0, 7.0 или 97)
12  (Microsoft Excel 3.0 или 4.0)
12  (Paradox)
12  (Текстовый)


SQL_MAX_TABLES_IN_SELECT

16


SQL_MAX_USER_NAME_LEN

0


SQL_MULT_RESULT_SETS

N


SQL_MULTIPLE_ACTIVE_TXN

Y


SQL_NEED_LONG_DATA_LEN

N


SQL_NON_NULLABLE_COLUMNS

SQL_NNC_NON_NULL


SQL_NULL_COLLATION

SQL_NC_LOW


SQL_NUMERIC_FUNCTIONS

SQL_FN_NUM_ABS |
SQL_FN_NUM_ATAN |
SQL_FN_NUM_CEILING |
SQL_FN_NUM_COS |
SQL_FN_NUM_EXP |
SQL_FN_NUM_FLOOR |
SQL_FN_NUM_LOG |
SQL_FN_NUM_MOD |
SQL_FN_NUM_POWER |
SQL_FN_NUM_RAND |
SQL_FN_NUM_SIGN |
SQL_FN_NUM_SIN |
SQL_FN_NUM_SQRT |
SQL_FN_NUM_TAN


SQL_ODBC_API_CONFORMANCE

SQL_OAC_LEVEL1


SQL_ODBC_SAG_CLI_CONFORMANCE

SQL_OSCC_ COMPLIANT


SQL_ODBC_SQL_CONFORMANCE

SQL_OSC_MINIMUM


SQL_ODBC_SQL_OPT_IEF

N


SQL_ODBC_VER

Из диспетчера драйверов


SQL_OJ_CAPABILITIES

SQL_OJ_LEFT
SQL_OJ_RIGHT
SQL_OJ_NOT_ORDERED
SQL_OJ_INNER
SQL_OJ_ALL_COMPARISON_OPS


SQL_ORDER_BY_COLUMNS_IN_SELECT

N


SQL_OUTER_JOINS

Y


SQL_OWNER_TERM

""


SQL_OWNER_USAGE

0


SQL_POS_OPERATIONS

SQL_POS_POSITION |
SQL_POS_REFRESH |
SQL_POS_UPDATE |
SQL_POS_DELETE |
SQL_POS_ADD
(Microsoft Access, dBASE, Paradox)

SQL_POS_POSITION |
SQL_POS_REFRESH
(Microsoft Excel, Текстовый)


SQL_POSITIONED_STATEMENTS

0


SQL_PROCEDURE_TERM

QUERY
(Microsoft Access)

""
(dBASE, Microsoft Excel, Paradox, Текстовый)


SQL_PROCEDURES

Y
(Microsoft Access)

N
(dBASE, Microsoft Excel, Paradox, Текстовый)


SQL_QUALIFIER_LOCATION

SQL_QL_START


SQL_QUALIFIER_NAME_SEPARATOR

" "
(Microsoft Access, Microsoft Excel 5.0, 7.0 или 97)

\
(dBASE, Microsoft Excel 3.0 или 4.0, Paradox, Текстовый)


SQL_QUALIFIER_TERM

Database  (Microsoft Access)
Directory  (dBASE)
Workbook  (Microsoft Excel 5.0, 7.0 или 97)/
Directory (Microsoft Excel 3.0 или 4.0)
Directory  (Paradox)
Directory  (Текстовый)


SQL_QUALIFIER_USAGE

SQL_QU_DML_STATEMENTS |
SQL_QU_TABLE_DEFINITION |
SQL_QU_INDEX_DEFINITION |
SQL_QU_PROCEDURE_INVOCATION
(Microsoft Access)

SQL_QU_DML_STATEMENTS |
SQL_QU_TABLE_DEFINITION |
SQL_QU_INDEX_DEFINITION
(dBASE, Paradox)

SQL_QU_DML_STATEMENTS |
SQL_QU_TABLE_DEFINITION
(Microsoft Excel, Текстовый)


SQL_QUOTED_IDENTIFIER_CASE

SQL_IC_MIXED


SQL_ROW_UPDATES

N


SQL_SCROLL_CONCURRENCY

SQL_SCCO_READ_ONLY |
SQL_SCCO_LOCK |
SQL_SCCO_OPT_VALUES
(Microsoft Access, dBASE, Paradox)

SQL_SCCO_READ_ONLY
(Microsoft Excel, Текстовый)


SQL_SCROLL_OPTIONS

SQL_SO_FORWARD_ONLY |
SQL_SO_STATIC |
SQL_SO_KEYSET_DRIVEN


SQL_SEARCH_PATTERN_ESCAPE

\


SQL_SERVER_NAME

ACCESS  (Microsoft Access)
DBASE  (dBASE)
EXCEL  (Microsoft Excel)
PARADOX  (Paradox)
TEXT  (Текстовый)


SQL_SPECIAL_CHARACTERS

~`@#$%^&*_-+=\}{"';:?/><,.!'[]|


SQL_STATIC_SENSITIVITY

SQL_SS_ADDITIONS |
SQL_SS_DELETIONS |
SQL_SS_UPDATES


SQL_STRING_FUNCTIONS

SQL_FN_STR_ASCII |
SQL_FN_STR_CHAR |
SQL_FN_STR_CONCAT |
SQL_FN_STR_LCASE |
SQL_FN_STR_LEFT |
SQL_FN_STR_LENGTH |
SQL_FN_STR_LOCATE |
SQL_FN_STR_LOCATE_2
SQL_FN_STR_LTRIM |
SQL_FN_STR_RIGHT |
SQL_FN_STR_RTRIM |
SQL_FN_STR_SPACE |
SQL_FN_STR_SUBSTRING |
SQL_FN_STR_UCASE


SQL_SUBQUERIES

SQL_SQ_COMPARISON |
SQL_SQ_EXISTS |
SQL_SQ_IN |
SQL_SQ_QUANTIFIED |
SQL_SQ_CORRELATED_SUBQUERIES


SQL_SYSTEM_FUNCTIONS

0


SQL_TABLE_TERM

TABLE


SQL_TIMEDATE_ADD_INTERVALS

0


SQL_TIMEDATE_DIFF_INTERVALS

0


SQL_TIMEDATE_FUNCTIONS

SQL_FN_TD_CURDATE |
SQL_FN_TD_CURTIME |
SQL_FN_TD_DAYOFMONTH |
SQL_FN_TD_DAYOFWEEK |
SQL_FN_TD_DAYOFYEAR |
SQL_FN_TD_HOUR |
SQL_FN_TD_MINUTE |
SQL_FN_TD_MONTH |
SQL_FN_TD_NOW |
SQL_FN_TD_SECOND |
SQL_FN_TD_WEEK |
SQL_FN_TD_YEAR
(Microsoft Access, Microsoft Excel, Текстовый)

SQL_FN_TD_DAYOFMONTH |
SQL_FN_TD_DAYOFWEEK |
SQL_FN_TD_DAYOFYEAR |
SQL_FN_TD_HOUR |
SQL_FN_TD_MINUTE |
SQL_FN_TD_MONTH |
SQL_FN_TD_SECOND |
SQL_FN_TD_WEEK |
SQL_FN_TD_YEAR
(dBASE, Paradox)


SQL_TXN_CAPABLE

SQL_TC_ALL
(Microsoft Access)

SQL_TC_NONE
(dBASE, Microsoft Excel, Paradox, Текстовый)


SQL_TXN_ISOLATION_OPTION

SQL_TXN_READ_COMMITTED
(Microsoft Access)

0
(dBASE, Microsoft Excel, Paradox, Текстовый)


SQL_UNION

SQL_U_UNION_ALL |
SQL_U_UNION


SQL_USER_NAME

Не поддерживается


Функции, поддерживаемые ODBC API

Драйверы Microsoft ODBC поддерживают все функции ядра и уровня 1, а также следующие функции уровня 2:

•	SQLDataSources

•	SQLDrivers

•	SQLExtendedFetch

•	SQLMoreResults

•	SQLNativeSQL

•	SQLNumParams

•	SQLProcedures

•	SQLProcedureColumns

•	SQLSetPos

•	SQLSetScrollOptions


SQLBindParameter

Когда используется драйвер Microsoft Excel, выполнение инструкции INSERT, которая использует параметр для вставки значения NULL в столбец SQL_CHAR, будет возвращать SQL_SUCCESS_WITH_INFO с SQLSTATE 01004, «Data Truncated» (Усеченные данные).


SQLColAttributes

Атрибут	Замечания
SQL_COLUMN_DISPLAY_SIZE	Для данных типа LONGVARBINARY SQL_COLUMN_DISPLAY_SIZE представляет максимальную длину столбца, а не максимальную длину, умноженную на 2.
SQL_COLUMN_MONEY	Возвращается FALSE для столбца типа данных Paradox CURRENCY, которое сопоставляется с типом данных ODBC SQL SQL_DOUBLE.
SQL_OWNER_NAME	В этот столбец возвращается пустая строка (""), так как имя владельца не поддерживается.
SQL_QUALIFIER_NAME	Возвращается путь к файлу базы данных для Microsoft Access; возвращается путь к каталогу для dBASE, Microsoft Excel, Paradox или текстового.
SQL_COLUMN_SEARCHABLE	Столбцы LONGVARBINARY и LONGVARCHAR описываются как SQL_UNSEARCHABLE. Двоичные и строковые типы данных фиксированной и переменной длины допускают поиск, в то время как LONGVARBINARY и LONGVARCHAR не допускают.
Примечание   Приведенный выше список атрибутов, возвращаемых SQLColAttributes, не является полным.


SQLColumns

Столбец	Замечания
TABLE_QUALIFIER	Возвращается путь к файлу базы данных для Microsoft Access; возвращается путь к каталогу для dBASE, Microsoft Excel, Paradox или текстового.
TABLE_OWNER	В этот столбец возвращается NULL, так как имя владельца не поддерживается.
NULLABLE	Возвращается SQL_NO_NULLS для столбцов, которые участвуют в первичном ключе или уникальном индексе.


SQLConfigDataSource

См. также

Функция SQLConfigDataSource используется для добавления, изменения или удаления источника данных в динамическом режиме; она использует следующие ключевые слова.

Ключевое слово	Описание
CHARACTERSET	Для текстового драйвера, OEM или ANSI.
COLLATINGSEQUENCE	Последовательность, в которой поля сортируются. Когда используется драйвер dBASE, может применяться порядок сортировки ASCII (по умолчанию) или международный. Когда используется драйвер Paradox, может применяться порядок сортировки ASCII (по умолчанию), международный, шведско-финский или норвежско-датский. Это задает тот же параметр, что и элемент управления Порядок сортировки в диалоговом окне установки.
COLNAMEHEADER	Для текстового драйвера показывает, будет ли первая запись данных указывать имена столбцов. TRUE или FALSE.
COMPACT_DB	Для драйвера Microsoft Access выполняет сжатие данных на файле базы данных. Имеет следующий формат: COMPACT_DB=<полный_путь> <необязательный_порядок_сортировки> <необязательное ключевое слово ENCRYPT>.
CREATE_DB	Для драйвера Microsoft Access создает файл базы данных. Имеет следующий формат: CREATE_DB=<полный_путь> <необязательный_порядок_сортировки> <необязательное ключевое слово ENCRYPT>, где задается полный путь к базе данных Microsoft  Access. Будет возвращаться ошибка, если путь указывает существующую базу данных. Порядок сортировки будет таким же, как и установленный в диалоговом окне «Создание базы данных», отображаемый когда нажимается кнопка «Создать» в диалоговом окне установки Microsoft Access. Если порядок сортировки не указан, то используется порядок «Общий». При использовании ключевого слова CREATE_DB, если путь создаваемой базы данных Microsoft Access содержит один или более пробелов, то значение пути должно быть заключено в двойные кавычки, как показано в следующих примерах: "C:\PROGRAM FILES\COMMON FILES\ MyAccess.mdb" "C:\PROGRAM FILES\Access2.mdb" CREATE_DB=C:\TEMP\test.mdb (кавычки не нужны).
CREATE_SYSDB	Создает системный файл базы данных для драйвера Microsoft Access. Имеет следующий формат:  CREATE_SYSDB=<полный_путь> <необязательный_порядок_сортировки>, где задается полный путь к базе данных Microsoft Access. Будет возвращаться ошибка, если путь указывает существующую базу данных. Порядок сортировки будет таким же, как и установленный в диалоговом окне «Создание базы данных», отображаемый когда нажимается кнопка «Создать» в диалоговом окне установки Microsoft Access. Если порядок сортировки не указан, то используется  порядок «Общий».
CREATE_V2DB	Для драйвера Microsoft Access создает файл базы данных, который совместим с Microsoft Access 2.0. Имеет следующий формат:  CREATE_V2DB=<полный_путь> <необязательный_порядок_сортировки>, где задается полный путь к базе данных Microsoft  Access. Будет возвращаться ошибка, если путь указывает существующую базу данных. Порядок сортировки будет таким же, как и установленный в диалоговом окне «Создание базы данных», отображаемый когда нажимается кнопка «Создать» в диалоговом окне установки Microsoft Access. Если порядок сортировки не указан, то используется  порядок «Общий». При использовании ключевого слова CREATE_V2DB, если путь создаваемой базы данных Microsoft Access содержит один или более пробелов, то значение пути должно быть заключено в двойные кавычки, как показано в следующих примерах: "C:\PROGRAM FILES\COMMON FILES\ MyAccess.mdb" "C:\PROGRAM FILES\Access2.mdb" CREATE_V2DB=C:\TEMP\test.mdb (кавычки не нужны).
DBQ	Имя файла базы данных для драйвера Microsoft Access или Paradox. Имя файла книги для драйвера Microsoft Excel при обращении к файлам Microsoft Excel 5.0, 7.0 или 97. Задает тот же параметр, что и элемент управления Database в диалоговом окне установки.
DEFAULTDIR	Указание пути к файлу базы данных (для драйвера Microsoft Access) или каталогу (для драйвера  dBASE,Microsoft Excel, Paradox или текстового).  Задает тот же параметр, что и кнопка Выбор каталога в диалоговом окне установки или для Microsoft Excel кнопка Выбор книги в диалоговом окне установки.
DELETED	Для драйвера dBASE указывает, могут ли строки, помеченные как удаленные, возвращаться или быть доступными для перехода на них. Если установлено 1, удаленные строки не отображаются, если установлено 0, удаленные строки обрабатываются так же, как и не удаленные. По умолчанию этот флажок снят. Задает тот же параметр, что и флажок Показ удаленных строк в диалоговом окне установки.
DESCRIPTION	Описание данных в источнике данных. Задает тот же параметр, что и поле Описание в диалоговом окне установки.
DRIVER	Указание пути к DLL драйвера.
DRIVERID	Целое значение кода драйвера.   25 (Microsoft Access)   21 (dBASE III)   277 (dBASE IV)   533 (dBASE 5.0)   534 (Microsoft Excel 3.0)   278 (Microsoft Excel 4.0)   22 (Microsoft Excel 5.0/7.0)   790 (Microsoft Excel 97)   26 (Paradox 3.x)   282 (Paradox 4.x)   538 (Paradox 5.x)   27 (Текстовый)
EXCLUSIVE	Определяет, будет ли база данных открыта в монопольном режиме (как одновременно доступная только одному пользователю) или в общем режиме (доступная для нескольких пользователей одновременно). Может иметь значение true (монопольный режим) или false (общий режим). (Не поддерживается драйверами Microsoft Excel или текстовыми). Задает тот же параметр, что и флажок Монопольный доступ в диалоговом окне установки.
EXTENSIONS	Перечисляет расширения имени текстовых файлов в источнике данных. Задает тот же параметр, что и поле Список расширений в диалоговом окне установки.
FIL	Тип файла    MS Access для Microsoft Access    dBase III, dBase IV или dBase 5    Excel 3.0, 4.0, 5.0, 7.0 или 97 для Microsoft Excel    Paradox 3.x, 4.x или 5.x)    Текстовый.
FILETYPE	Тип файла для текстового драйвера.
FIRSTROWHASNAMES	Для драйвера Microsoft Excel показывает, будут ли ячейки первой строки диапазона значений содержать имена столбцов таблицы (1) или нет (0).
FORMAT	Для текстового драйвера может быть FIXEDLENGTH, TABDELIMITED, CSVDELIMITED (разделитель — запятая) или DELIMITED() (разделитель — специальный символ, указанный в скобках). Специальный символ может быть задан в строковом, десятичном или шестнадцатеричном формате.
IMPLICITCOMMITSYNC	Определяет, будет ли драйвер Microsoft Access асинхронно выполнять операции завершения внутренних или неявных транзакций. Это значение первоначально установлено на Yes. Это означает, что драйвер Microsoft Access будет ждать, пока будут выполнены операции завершения внутренних и неявных транзакций. Значение этого параметра не следует изменять без тщательного анализа последствий. Подробнее об этом параметре см. в руководстве Microsoft Jet Database Engine Programmer's Guide. Задает тот же параметр, что и элемент управления ImplicitCommitSync в диалоговом окне установки.
MAXBUFFERSIZE	Размер внутреннего буфера в килобайтах, который используется Microsoft Access для пересылки данных на диск и с диска. Размер буфера по умолчанию равен 512K (показывается как 512). Может использоваться любое целое значение, кратное 256. Это задает тот же параметр, что и элемент управления Размер буфера в диалоговом окне установки.
MAXSCANROWS	Для драйвера Microsoft Access, Microsoft Excel или текстового количество просматриваемых строк при определении типа данных столбца на основании существующих данных. Допускаются значения от 1 до 16. Значение по умолчанию 8; если установлен 0, просматриваются все строки. (Значение, превышающее предельное, будет возвращать ошибку). Для текстового драйвера можно ввести значение от 1 до 32767; значение по умолчанию равно 25. (Значение, превышающее предельное, будет возвращать ошибку). Задает тот же параметр, что и поле Строк сканирования в диалоговом окне установки.
PAGETIMEOUT	Указывает период времени в десятых долях секунды, в течение которого страница (если она не используется) остается в буфере, прежде чем она будет удалена. Для драйвера Microsoft Access по умолчанию используется значение 0.5 секунды. Для драйверов dBASE и Paradox, время по умолчанию равно 600 (60 секунд). Заметим, что этот параметр применяется ко всем источникам данных, которые используют драйвер ODBC.  Задает тот же параметр, что и поле Время ожидания страницы в диалоговом окне установки.
PARADOXNETPATH	Для драйвера Paradox полный путь к каталогу, содержащий базу данных блокировок Paradox, потому что он содержит или файл PDOXUSRS.net (в Paradox 4.x) или файл PARADOX.net (в Paradox 5.x). Если каталог не содержит один из этих файлов, драйвер Paradox создает его. Подробнее об этих файлах см. документацию Paradox. Прежде чем может быть выбран сетевой каталог, должно быть введено имя пользователя Paradox.  Задает тот же параметр, что и кнопка Выбор сетевого каталога в диалоговом окне установки Paradox.
PARADOXNETSTYLE	Для драйвера Paradox используемый тип доступа к сети при обращении к данным Paradox: либо 3.x для Paradox 3.x, либо 4.x для Paradox 4.x или 5.x. Может задавать значения 3.x и 4.x для версий Paradox 4.x или 5.x; для версии Paradox 3.x требуется тип 3.x.  Задает тот же параметр, что и элемент управления Тип сети в диалоговом окне установки Paradox.
PARADOXUSERNAME	Имя пользователя Paradox для драйвера Paradox.  Задает тот же параметр, что и элемент управления Пользователь в диалоговом окне установки Paradox.
PWD	Пароль для драйвера Microsoft Access или Paradox. Для драйвера Paradox это необязательное ключевое слово, которое никогда не будет записано драйвером в файл. Оно используется в вызове SQLDriverConnect для защищенных паролем файлов Paradox.
READONLY	TRUE, если файл предназначен только для чтения, FALSE в противном случае. Задает тот же параметр, что и флажок Только чтение в диалоговом окне установки.
REPAIR_DB	Для драйвера Microsoft Access восстанавливает базу данных поврежденную при сбое во время завершения транзакции.
STATISTICS	Для драйвера dBASE определяет, будет ли применяться приближенная статистика размера таблицы. Заметим, что этот параметр применяется ко всем источникам данных, которые используют драйвер ODBC.  Задает тот же параметр, что и флажок Примерное число строк в диалоговом окне установки.
SYSTEMDB	Для драйвера Microsoft Access указание пути к файлу системной базы данных. Задает тот же параметр, что и кнопка Системная база данных в диалоговом окне установки.
THREADS	Количество фоновых потоков, используемых ядром. Для драйвера Microsoft Access значение по умолчанию равно 3, но может быть изменено. Для драйверов dBASE, Microsoft Excel, Paradox и текстового это значение равно 3 и не может быть изменено.  Задает тот же параметр, что и элемент управления Потоки в диалоговом окне установки.
UID	Для драйвера Microsoft Access код пользователя, используемый при регистрации.
USERCOMMITSYNC	Определяет, будет ли драйвер Microsoft Access выполнять определенную пользователем транзакцию синхронно. Это значение первоначально установлено в Yes, что означает, что драйвер Microsoft Access будет ждать, пока операции завершения в определенной пользователем транзакции будут закончены.  Значение этого параметра не должно изменяться без тщательного анализа последствий. Подробнее об этом параметре см. руководство Microsoft Jet Database Engine Programmer's Guide. Задает тот же параметр, что и элемент управления UserCommitSync в диалоговом окне установки.


SQLDriverConnect

См. также

SQLDriverConnect дает возможность связаться с драйвером без создания источника данных (DSN).

Ключевые слова DSN, DBQ и FIL поддерживаются в строке подключения для всех драйверов.

Для драйвера Microsoft Access также поддерживаются ключевые слова UID и PWD. Для драйвера Paradox поддерживается ключевое слово PWD.

Когда используется драйвер Microsoft Access или Paradox, ключевое слово PWD не должно включать любой из специальных символов (см. SQL_SPECIAL_CHARACTERS в разделе Возвращаемые значения SQLGetInfo).

При использовании драйвера Paradox, после открытия пользователем защищенного паролем файла, другим пользователям не разрешается открывать этот файл.

Следующая таблица показывает минимальное количество ключевых слов, которые требуются для связи с каждым драйвером, и дает пример пар ключевое слово-значение, используемых с SQLDriverConnect. Полный список значений DRIVERID см. в разделе SQLConfigDataSource.

Примечание   Если DBQ или DefaultDir не указаны для драйвера dBASE, Microsoft Excel 3.0/4.0, Paradox или текстового, драйвер будет связан с текущим каталогом.

Драйвер	Требуемые ключевые слова	Примеры
Microsoft Access	Driver, DBQ	Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\temp\sample.mdb
dBASE	Driver, DriverID	Driver={Microsoft dBASE Driver (*.dbf)}; DBQ=c:\temp; DriverID=277
Microsoft Excel 3.0 or 4.0	Driver, DriverID	Driver={Microsoft Excel Driver (*.xls)}; DBQ=c:\temp; DriverID=278
Microsoft Excel 5.0/7.0	Driver, DriverID,  DBQ	Driver={Microsoft Excel Driver (*.xls)}; DBQ=c:\temp\sample.xls; DriverID=22
Microsoft Excel 97	Driver, DriverID,  DBQ	Driver={Microsoft Excel Driver (*.xls)}; DBQ=c:\temp\sample.xls; DriverID=790
Paradox	Driver, DriverID	Driver={Microsoft Paradox Driver (*.db )}; DBQ=c:\temp;DriverID=26
Текстовый	Driver	Driver={Microsoft Text Driver (*.txt;*.csv)}; DefaultDir=c:\temp


SQLGetCursorName

SQLGetCursorName поддерживается, но может использоваться только при использовании библиотеки указателей, потому что операции с указанием позиции не поддерживаются драйвером.


SQLGetData

Эта функция может загружать данные из любого столбца, независимо от того, будут ли столбцы после этого привязаны, и независимо от порядка загрузки столбцов.


SQLGetInfo

SQLGetInfo поддерживает информационный тип SQL_FILE_USAGE. Возвращаемое значение это 16-битовое целое, которое показывает, как драйвер непосредственно обрабатывает файлы в источнике данных:

SQL_FILE_NOT_SUPPORTED = Драйвер не является одноуровневым.

SQL_FILE_TABLE = Одноуровневый драйвер обрабатывает файлы в источнике данных как таблицы.

SQL_FILE_QUALIFIER = Одноуровневый драйвер обрабатывает файлы в источнике данных как спецификаторы.

Драйвер ODBC возвращает SQL_FILE_QUALIFIER для драйвера Microsoft Access, потому что каждый файл это полная база данных. Драйвер ODBC возвращает SQL_FILE_TABLE для драйвера dBASE, Microsoft Excel, Paradox или текстового, потому что каждый файл это таблица.


SQLGetStmtOption

Закладки, возвращаемые посредством параметра fOption равным SQL_GETBOOKMARK, являются действительными, пока открыт запрос, и становятся недействительными при повторном выполнении запроса. Постоянные закладки не поддерживаются.


SQLGetTypeInfo

Имя типа (TYPE_NAME), возвращаемое в таблице, созданной SQLGetTypeInfo, будет именем, которое в большинстве случаев используется источником данных.

SQL_ALL_EXCEPT_LIKE будет возвращаться в столбце SEARCHABLE для типов данных Byte, Counter, Double, Single, Long и Short. (Возможность использования операторов LIKE может быть достигнута преобразованием значения в строковое с помощью стандартных функций преобразования ODBC, с последующим выполнением сравнения).

При использовании драйвера Microsoft Excel, имена типов ODBC возвращаются в столбце TYPE_NAME, который возвращается SQLGetTypeInfo.

При использовании драйвера текстового, SQLGetTypeInfo возвращает значение CASE_SENSITIVE как FALSE для текстовых типов данных (CHAR и LONGCHAR), когда в типах данных фактически учитывается регистр символов.


SQLMoreResults

Эта функция всегда возвращает SQL_NO_DATA_FOUND.


SQLPrepare

Инструкция, подготовленная с неправильным числом столбцов, возвращает ошибку во время выполнения, а не во время подготовки инструкции.


SQLProcedureColumns

Поддерживается только для имен источников данных Microsoft Access.

Разработчики приложений должны выполнять поиск определенных драйвером столбцов, начиная с конца результирующего набора записей и в направлении к началу.

Столбец	Замечания
COLUMN_TYPE	SQL_PARAM_INPUT или SQL_RESULT_COL
ORDINAL	Это столбец, зависящий от драйвера, который возвращается в конце результирующего набора. Тип SQL-столбца целый.


SQLProcedures

SQLProcedures будет возвращать строки только для таких процедур, которые имеют, по крайней мере, один аргумент. Процедуры, которые не имеют аргументов, обрабатываются как представления.

Столбец	Замечания
PROCEDURE_QUALIFIER	Путь к файлу базы данных.
PROCEDURE_OWNER	NULL
PROCEDURE_NAME	Имя процедуры без ограничителей
PROCEDURE_TYPE	SQL_PT_PROCEDURE


SQLSetConnectOption

fOption	Замечания
SQL_ACCESS_MODE	SQL_ACCESS_MODE fOption может быть установлена или в SQL_MODE_READ_ONLY или в SQL_MODE_READ_WRTE. Однако драйвер не препятствует обновлениям, если SQL_ACCESS_MODE установлена в SQL_MODE_READ_ONLY.
SQL_AUTOCOMMIT	При использовании драйвера Microsoft Access, параметр SQL_AUTOCOMMIT может быть установлен или в SQL_AUTOCOMMIT_ON или в SQL_AUTOCOMMIT_OFF, поскольку драйвер Microsoft Access поддерживает транзакции(1). Драйверы dBASE, Microsoft Excel, Paradox и текстовый поддерживают только SQL_AUTOCOMMIT, установленный в ON (состояние по умолчанию), поскольку они не поддерживают транзакции.
SQL_CURRENT_QUALIFIER	Поддерживается.
SQL_LOGIN_TIMEOUT	Не поддерживается.
SQL_OPT_TRACE	Поддерживается.
SQL_OPT_TRACEFILE	Поддерживается.
SQL_PACKET_SIZE	Не поддерживается.
SQL_QUIET_MODE	Не поддерживается.
SQL_TRANSLATE_DLL	Не поддерживается.
SQL_TRANSLATION_OPTION	Не поддерживается.
SQL_TXN_ISOLATION	При использовании драйвера Microsoft Access, SQL_TXN_ISOLATION всегда есть SQL_TXN_READ_COMMITTED. Это значение fOption не поддерживается для других драйверов.

1	Атомарная транзакция не поддерживается драйвером Microsoft Access. Когда завершается транзакция с использованием драйвера Microsoft Access, конечный промежуток задержки существует между временем завершения транзакции и временем, когда значения записаны на диск. Эта задержка определяется внутренней задержкой ядра. Интервал ожидания для страницы не будет меньше минимального значения, даже если параметр интервала ожидания для страницы установлен ниже этого значения. В результате, нет гарантии, что окончательные данные стабильны, так как во время задержки могут быть сделаны изменения.


SQLSetCursorName

Так как драйвер не поддерживает обновление с указанием позиции или удаление при помощи синтаксиса WHERE CURRENT OF имяУказателя, SQLSetCursorName поддерживается, но не может использоваться для обновлений с указанием позиции. SQLSetCursorName может использоваться только в том случае, когда включена библиотека указателей, а приложение использует SQLExtendedFetch.


SQLSetPos

Поддерживаются семантики массовых моделей для вызовов SQLSetPos с аргументом irow, равным 0.

SQL_LOCK_NO_CHANGE поддерживается для fLock. SQL_LOCK_EXCLUSIVE и SQL_LOCK_UNLOCK не поддерживаются.

SQLSetPos поддерживает обновляемые объединения. (Подробнее см. руководство Microsoft Jet Database Engine Programmer's Guide).


SQLSetScrollOptions

Указатель набора записей с последовательным доступом и статический указатель набора записей поддерживаются для SQL_CONCUR_READ_ONLY.

Для аргумента fConcurrency SQL_CONCUR_LOCK поддерживаются только ключевые указатели набора записей.

Аргумент fConcurrency SQL_CONCUR_ROWVER не поддерживается.

Динамические указатели и смешанные указатели не поддерживаются.


SQLSetStmtOption

fOption	Замечания
SQL_ASYNC_ENABLE	Асинхронная обработка не поддерживается. SQL_ASYNC_ENABLE fOption будет возвращать SQLSTATE S1C00 (драйвер не может выполнить операцию).
SQL_KEYSET_SIZE	Единственный допустимый размер ключевого набора записей 0, так как смешанный и динамические указатели не поддерживаются. Если задано любое другое число, оно будет заменено на 0, и вызов будет возвращать SQL_SUCCESS_WITH_INFO и SQLSTATE 01S02 (значение параметра изменилось).
SQL_MAX_ROWS	Единственный допустимый размер набора строк 0, так как драйверы баз данных настольных систем не поддерживают ограничение количества строк, которые возвращаются. Если установлено любое другое значение, оно будет заменено на 0, и вызов будет возвращать SQL_SUCCESS_WITH_INFO и SQLSTATE 01S02 (Значение параметра изменено).
SQL_QUERY_TIMEOUT	Не поддерживается.
SQL_ROW_NUMBER	Не поддерживается.
SQL_SIMULATE_CURSOR	Не поддерживается.


SQLSpecialColumns

Для флага SQL_BEST_ROWID в fColType будет возвращаться уникальный индекс (если он существует). Для флага SQL_ROWVER результирующий набор возвращаться не будет.

Все строковые идентификаторы имеют область определения SQL_SCOPE_CURROW.

Сопоставление образцов не поддерживается как для аргумента szTableQualifier, так и для szTableName.


SQLStatistics

Столбец	Замечания
TABLE_QUALIFIER	Для Microsoft Access возвращается путь к файлу базы данных; для dBASE, Microsoft Excel или текстовый возвращается путь к каталогу. Сопоставление образцов не поддерживается в аргументе szTableQualifier.
TABLE_OWNER	В этот столбец возвращается NULL, так как имя владельца не поддерживается.
TABLE_NAME	Имя таблицы без ограничителей. Сопоставление образцов не поддерживается в аргументе szTableName.
INDEX_QUALIFIER	Всегда возвращается NULL.
INDEX_NAME	Зависит от индекса.
TYPE	Только SQL_TABLE_STAT или SQL_INDEX_OTHER будут возвращаться для TYPE.
SEQ_IN_INDEX	Зависит от индекса.
COLUMN_NAME	Зависит от индекса.
COLLATION	Зависит от индекса.
CARDINALITY	Возвращается только для Microsoft Access
PAGES	NULL всегда возвращается.
Применение фильтра основано на уникальности (аргумент fUnique). Параметр fAccuracy игнорируется.


SQLTables

Аргумент	Замечания
szTableOwner	Единственный допустимый аргумент для szTableOwner это NULL, так как ни один из драйверов не поддерживает имена владельцев. С szTableOwner, установленным в NULL, возвращаются все таблицы. NULL возвращается в столбец TABLE_OWNER.
szTableQualifier	При использовании драйвера Microsoft Excel 3.0 или 4.0, если вызывается SQLTables со значением для szTableQualifier, которое не является именем существующей таблицы, драйвер создаст таблицу с этим именем. В столбце TABLE_QUALIFIER SQLTables будет возвращать или путь к файлу базы данных (для Microsoft Access или Microsoft Excel 5.0, 7.0 или 97) или путь к каталогу (dBASE, Microsoft Excel 3.0 или 4.0, Paradox или текстовый).
SzTableType	Когда используется драйвер Microsoft Access, значение SYSTEM TABLE поддерживается для аргумента szTableType для системных таблиц, SYNONYM поддерживается для присоединенных таблиц и VIEW поддерживается для запросов, возвращающих строки. Для файлов dBASE, Microsoft Excel 3.0 или 4.0, Paradox или текстового TABLE это единственный поддерживаемый тип таблицы. Для файлов Microsoft Excel 5.0, 7.0 или 97 SYSTEM TABLE возвращается для имен листов электронной таблицы (таблиц с символом $ в конце), а TABLE возвращается для таблиц, находящихся внутри листов электронной таблицы. Когда используется текстовый драйвер, список файлов, возвращаемых SQLTables, определяется расширениями файла в окне списка расширений диалогового окна установки текстового драйвера ODBC.


SQLTransact

При использовании драйвера Microsoft Access, SQL_COMMIT и SQL_ROLLBACK поддерживаются для аргумента fType при обращении к SQLTransact.

При использовании драйвера dBASE, Microsoft Excel, Paradox или текстового, эта функция поддерживает SQL_COMMIT, но не SQL_ROLLBACK.

При использовании драйвера Microsoft Access, если происходит сбой во время процесса завершения транзакции, обрабатываемая база данных может быть восстановлена при использовании параметра Восстановление базы данных в установке драйвера Microsoft Access или с помощью ключевого слова REPAIR_DB в функции SQLConfigDataSource.


Арифметические ошибки

Драйвер ODBC вычисляет предложение WHERE в инструкции SELECT при выборке каждой строки. Если строка содержит значение, которое приводит к арифметической ошибке, как например, деление на нуль или числовое переполнение, драйвер возвращает все строки, но возвращает ошибки для столбцов с арифметическими ошибками. Однако при вставке или обновлении драйвер ODBC прекращает вставку или обновление данных, как только встречается первая арифметическая ошибка.


Базовый адрес драйверов

Каждый из драйверов ODBC баз данных для настольных систем связан с базовым адресом 0x04c0000.


Создание и открытие таблиц

При использовании текстового драйвера, новая таблица создается с использованием формата, который указан в Odbcinst.ini. Если не указано иное, таблицы создаются в формате CSVDELIMITED. По умолчанию, столбцы INTEGER имеют ширину 11 символов, а столбцы FLOAT имеют ширину 22 символа. Столбцы DATE используют формат ГГГГ-MM-ДД. Столбцы CHAR и LONGCHAR имеют ширину, указанную в инструкции CREATE.


Множественные hstmts

При использовании драйвера ODBC Paradox, для выполнения запросов по таблице с использованием нескольких hstmt таблица должна иметь уникальный индекс (первичный ключ).


Состояние только для чтения

При использовании драйвера Microsoft Excel или текстового, табличные источники данных доступны только для чтения. Однако несмотря на то, что таблицы доступны только для чтения, приложения могут выполнять операции вставки и обновления для таблиц Microsoft Excel или вставки для таблиц в текстовом формате.

Когда в приложении выполняется команда «Сохранить как» над источником данных Microsoft Excel с помощью драйвера Microsoft Excel, приложение должно создать новую таблицу и вставить сохраняемые данные в новую таблицу. Операции вставки приводят к добавлению данных в конец новой таблицы. Никакие другие операции над таблицей не допускаются до ее закрытия и последующего открытия. После закрытия таблицы дальнейшие операции вставки невозможны, так как таблица становится доступной только для чтения.

При использовании драйвера Microsoft Excel обновление значений является возможным, однако невозможно удалить строку из таблицы, базирующейся на электронной таблице Microsoft Excel. Поэтому операции обновления официально не считаются поддерживаемыми драйвером Microsoft Excel.


Библиотека установки

Когда пользователи выполняют настройку источников данных, программа ODBC Administrator вызывает функцию ConfigDSN.


Библиотеки трансляций

Не поддерживаются.


Дескрипторы

Дескриптор представляет структуру данных, которая содержит сведения о данных в каждом столбце и динамических параметрах. Для загрузки поддерживаемых дескрипторов, перечисленных ниже, можно использовать функцию SQLGetDescField. Дескрипторы IPD (Implementation Parameter Descriptors — Дескрипторы параметров реализации) не заполняются автоматически, поскольку SQLDescribeParam не поддерживается. Поля дескрипторов, которые не являются доступными через Jet (такие как SQL_DESC_BASE_TABLE_NAME) также не поддерживаются.

Дополнительные сведения о полях дескрипторов, поддерживаемых Jet, см. в руководстве Microsoft Jet Database Engine Programmer's Guide.

Дополнительные сведения о дескрипторах см. в разделе «Descriptors» в справочнике ODBC Programmer's Reference.

Поля дескрипторов	Уровень поддержки
SQL_DESC_ALLOC_TYPE	Поддерживается
SQL_DESC_ARRAY_SIZE	Поддерживается только для ARD
SQL_DESC_ARRAY_STATUS_PTR	Поддерживается
SQL_DESC_BIND_OFFSET_PTR	Поддерживается
SQL_DESC_BIND_TYPE	Поддерживается
SQL_DESC_COUNT	Поддерживается
SQL_DESC_ROWS_PROCESSED_PTR	Поддерживается только для ARD
SQL_DESC_AUTO_UNIQUE_VALUE	Поддерживается
SQL_DESC_BASE_COLUMN_NAME	Поддерживается (NEW)
SQL_DESC_BASE_TABLE_NAME	Не поддерживается. (Сведения о текущем состоянии см. в документации каждого выпуска.)
SQL_DESC_CASE_SENSITIVE	Всегда FALSE
SQL_DESC_CATALOG_NAME	Не поддерживается. (Сведения о текущем состоянии см. в документации каждого выпуска.)
SQL_DESC_CONCISE_TYPE	Поддерживается
SQL_DESC_DATA_PTR	Поддерживается
SQL_DESC_DATETIME_INTERVAL_CODE	Поддерживается
SQL_DESC_DATETIME_INTERVAL_PRECISION	Поддерживается для типов INTERVAL C
SQL_DESC_DISPLAY_SIZE	Поддерживается
SQL_DESC_FIXED_PREC_SCALE	Поддерживается (TRUE для денежных значений)
SQL_DESC_INDICATOR_PTR	Поддерживается
SQL_DESC_LABEL	Поддерживается
SQL_DESC_LENGTH	Поддерживается
SQL_DESC_LITERAL_PREFIX	Поддерживается
SQL_DESC_LITERAL_SUFFIX	Поддерживается
SQL_DESC_LOCAL_TYPE_NAME	Не поддерживается (возвращается пустая строка)
SQL_DESC_NAME	Поддерживается
SQL_DESC_NULLABLE	Поддерживается Примечание  Не поддерживается в версиях до Jet 4.0
SQL_DESC_NUM_PREC_RADIX	Поддерживается
SQL_DESC_OCTET_LENGTH	Поддерживается
SQL_DESC_OCTET_LENGTH_PTR	Поддерживается
SQL_DESC_PARAMETER_TYPE	Только входные параметры
SQL_DESC_PRECISION	Поддерживается
SQL_DESC_SCALE	Поддерживается
SQL_DESC_SCHEMA_NAME	Не поддерживается
SQL_DESC_SEARCHABLE	Поддерживается
SQL_DESC_TABLE_NAME	Не поддерживается
SQL_DESC_TYPE	Поддерживается
SQL_DESC_TYPE_NAME	Поддерживается
SQL_DESC_UNNAMED	Поддерживается
SQL_DESC_UNSIGNED	Поддерживается
SQL_DESC_UPDATABLE	Поддерживается


Совместимость

Кодировка Unicode — это способ программного кодирования символов, при котором все символы имеют фиксированный размер 2 байта. Этот способ используется как альтернатива кодировки Windows ANSI, в которой символы представляются одним байтом, что позволяет представить 256 символов. Поскольку Unicode позволяет представить более 65 000 символов, эта кодировка охватывает многие языки, символы которых не представлены в кодировке ANSI.

Диспетчер драйверов ODBC версии 3.5 (или более поздние) поддерживает Unicode. Это затрагивает две основные области: вызовы функций и строковые типы данных. Диспетчер драйверов сопоставляет строковые аргументы функций и строковые данные соответственно требованиям приложения и драйвера, в каждом из которых может быть включена либо поддержка Unicode, либо поддержка ANSI.

Диспетчер драйверов ODBC версии 3.5 (или более поздние) поддерживает использование драйвера Unicode и с приложениями Unicode, и с приложениями ANSI. Кроме того, он поддерживает использование драйвера ANSI с приложениями ANSI. Диспетчер драйверов обеспечивает ограниченное преобразование Unicode-ANSI для приложения Unicode, работающего с драйвером ANSI. Это обеспечивает доступ к базам данных Jet 3.5 и поддержку существующих типов файлов ISAM.

Когда приложение ANSI использует драйвер ODBC баз данных для настольных систем версии 4.0 и осуществляет доступ к Microsoft Access 4.0 или более поздней версии, драйвер представляет типы данных как SQL_CHAR, SQL_VARCHAR или SQL_LONGVARCHAR, хотя Jet 4.0 поддерживает версию Unicode. Старые версии Jet не поддерживают типы SQL_WCHAR, SQL_WVARCHAR и SQL_WLONGVARCHAR. Это ограничение действует также в случаях, когда старые форматы используются с ядром базы данных Jet 4.0.

Дополнительные сведения об использовании Unicode в ODBC см. в посвященных Unicode разделах главы «Programming Considerations» в справочнике ODBC Programmer's Reference.


Вопросы производительности

Для обеспечения совместимости с существующими приложениями ANSI типы данных SQL_WCHAR, SQL_WVARCHAR и SQL_WLONGVARCHAR представляются как SQL_CHAR, SQL_VARCHAR и SQL_LONGVARCHAR для источников данных Access 4.0 или более поздних версий. Источники данных не возвращают типы данных Unicode, но данные необходимо отправлять в Jet в формате Unicode. Важно помнить, что преобразование осуществляется для случая привязки параметра SQL_C_CHAR или результирующего столбца к типу данных SQL_CHAR в приложении ANSI.

Такое преобразование приводит к особенно неэффективному использованию памяти в случае привязки типа SQL_C_CHAR к параметру типа LONGVARCHAR. Поскольку ядро Jet 4.0 не обеспечивает потоковую передачу данных с параметром LONGTEXT, требуется выделение буфера преобразования UNICODE, размер которого вдвое превышает размер буфера SQL_C_CHAR ANSI. Наиболее эффективным механизмом является выполнение в приложении преобразования UNICODE и привязка параметра с типом SQL_C_WCHAR. Когда параметр помечен как данные при выполнении, а данные поставляются в множественных вызовах в SQLPutData, размер буфера данных длинных текстовых значений растет. Одним из способов ограничения роста этого буфера PutData является задания необязательного значения длины с помощью параметра SQL_DATA_AT_EXEC_LEN(x), где x представляет ожидаемую длину в байтах. Это приведет к инициализации внутреннего буфера PutData с размером x байт.

Примечание   Эффективным способом вставки или обновления длинных данных является использование функций SQLBulkOperations() или SQLSetPos() с задание длинного типа данных в параметре SQL_DATA_AT_EXEC. (В этом случае EXEC_LEN игнорируется). Потоковая передача данных осуществляется порциями с помощью многократных вызовов SQLPutData, приводящих к эффективному добавлению данных в таблицу.


Функции, принимающие строковые параметры

Все функции, которые могут принимать строковые параметры, преобразуются к Unicode. (Экспортируется W-форма функции). Счетчик байтов преобразуется в счетчик символов для применяемых интерфейсов ODBC API. Это относится к следующим функциям:

•	SQLConnect

•	SQLDriverConnect

•	SQLColAttributes

•	SQLDescribeCol

•	SQLError (заменяется на SQLGetDiagField)

•	SQLExecDirect

•	SQLGetCursorName

•	SQLSetCursorName

•	SQLGetStmtAttr

•	SQLGetInfo

•	SQLGetStmtOption (превращается в SQLGetStmtAttr)

•	SQLSetStmtOption (превращается в SQLSetStmtAttr)

•	SQLGetConnectOption

•	SQLSetConnectOption

•	SQLGetTypeInfo

•	SQLStatistics

•	SQLTables

•	SQLNativeSQL

•	SQLSpecialColumns

•	ConfigDSNEx

•	ConfigDSN


Диагностика

Все ошибки и предупреждения, не проверенные или частично проверенные диспетчером драйверов, обрабатываются драйвером. Кроме того, драйвер сопоставляет внутренние ошибки или ошибки, возвращаемые источником данных, с ошибками SQLSTATE. Для каждой перечисленной функции в разделе «Diagnostics» справочника ODBC Programmer's Reference содержится описание условий и сообщений.

Приложения вызывают SQLGetDiagRec для загрузки состояния SQLSTATE, внутреннего кода ошибки и диагностических сообщений. При вызове SQLGetDiagField и указании поля возвращаются отдельные диагностические поля. Ниже представлены уровни поддержки идентификаторов диагностики.

Идентификаторы диагностики	Уровень поддержки
SQL_DIA_DYNAMIC_FUNCTION	Не поддерживается
SQL_DIAG_CLASS_ORIGIN	Поддерживается. Всегда ODBC 3.0 для версий данного драйвера 3.0 или более поздних.
SQL_DIAG_COLUMN_NUMBER	Поддерживается
SQL_DIAG_CURSOR_ROW_COUNT	Не поддерживается
SQL_DIAG_DYNAMIC_FUNCTION_CODE	Не поддерживается
SQL_DIAG_MESSAGE_TEXT	Поддерживается
SQL_DIAG_NATIVE	Поддерживается
SQL_DIAG_NUMBER	Поддерживается
SQL_DIAG_RETURNCODE	Поддерживается, но реализуется диспетчером драйверов.
SQL_DIAG_ROW_COUNT	Поддерживается
SQL_DIAG_ROW_NUMBER	Поддерживается
SQL_DIAG_SERVER_NAME	Не поддерживается
SQL_DIAG_SQLSTATE	Поддерживается
SQL_DIAG_SUBCLASS_ORIGIN	Поддерживается


Обзор

См. также

Драйверы Microsoft ODBC Desktop Database Drivers 4.0 используются для открытия базы данных и создания запросов к базе данных с помощью интерфейса ODBC (Open Database Connectivity — открытый интерфейс для подключения к базам данных). Эти драйверы работают с протоколом ODBC версии 3.51 или более поздней.


Что нового в драйверах ODBC для базы данных для настольного компьютера

Поддержка кодировки Unicode

Процессор ядра базы данных Microsoft Jet, начиная с версии 4.0, заменяет формат ANSI на формат Unicode. Драйвер приложения Microsoft Access 4.0 использует данные в кодировке Unicode, так как приложения, использующие Unicode, имеют прямой доступ к данным с такой же кодировкой. Кроме того, этот драйвер обеспечивает перекодировку данных из Unicode в ANSI при работе с приложениями, использующими эту кодировку.

Более подробные сведения о кодировке Unicode, см. раздел, посвященный кодировке Unicode в главе 17 руководства ODBC Programmer's Reference (Справочник программиста по ODBC), а также разделы «Programming Considerations» (Отдельные вопросы программирования) или «Compatibility» (Совместимость).

Поддержка дескрипторов

Дескрипторы содержат заголовки и поля записи, которые полностью описывают столбцы или параметры. Хотя, ни для какой базы данных не требуется, чтобы приложение имело прямой доступ к дескрипторам, такой доступ может упростить многие операции. В настоящее время поддерживается функция SQLGetDescField. А функция SQLDescribeParam — не поддерживается. Так же как не поддерживается возможность автоматического заселения дескриптора параметров использования IPD.

Более подробно о дескрипторах можно узнать из главы 13 «Descriptors» (Дескрипторы) руководства ODBC Programmer's Reference (Справочник программиста по ODBC).

Поддержка функций SQLGetDiagField и SQLGetDiagRec

В ядро Microsoft Jet была добавлена ограниченная поддержка функций SQLGetDiagField и SQLGetDiagRec.

Групповые операции SQL (SQLBulkOperations)

В настоящее время можно с помощью ядра базы данных Jet при вставке новой строки получить обратно закладку.

Национальные настройки

Строка подключения ядра базы данных Jet была изменена для того, чтобы вместо отдельных записей номера кодовой страницы (CodePage) и идентификатора языка (LangID), использовать идентификатор LCID (Locale identifier — идентификатор языкового и культурного окружения). Эти изменения отражены в диалоговом окне установки драйверов ODBC Microsoft Access. Изменения, внесенные в программирование баз данных, приведены в разделе Сжатие баз данных (Дополнительные возможности), Обслуживание баз данных (Дополнительные возможности), и Создание баз данных (Дополнительные возможности).

Типы данных

В ядре базы данных Jet имеется поддержка данных типа SQL и типа C.

Дополнительные типы данных, для которых имеется поддержка:

Тип	Имя	Пояснения
Тип данных C	SQL_C_WCHAR
Тип данных C	SQL_C_NUMERIC
Тип данных C	SQL_C_GUID
Тип данных C	SQL_C_SBIGINT
Тип данных C	SQL_C_UBIGINT
Тип данных C	SQL_C_INTERVAL_*	Все
Тип данных C	SQL_WCHAR	Данные этого типа отображаются только в приложениях, поддерживающих кодировку Unicode (например, Microsoft Access 4.0 или более поздней версии).
Тип данных SQL	SQL_WVARCHAR	Данные этого типа отображаются только в приложениях, поддерживающих кодировку Unicode (например, Microsoft Access 4.0 или более поздней версии).
Тип данных SQL	SQL_WLONGVARCHAR	Данные этого типа отображаются только в приложениях, поддерживающих кодировку Unicode (например, Microsoft Access 4.0 или более поздней версии). Максимальная длина была уменьшена вполовину, и теперь составляет 1073741824.
Тип данных SQL	SQL_NUMERIC	Максимальная точность равна 28
Тип данных SQL	SQL_GUID
Примечание  Для приложения Microsoft Access версии 4.0 или более поздних версий, максимальная длина для типов данных SQL_BINARY и SQL_VARBINARY была удвоена до 510 (по сравнению с предыдущей величиной — 255).

Более подробно о типах данных можно узнать из приложения D «Типы данных» руководства ODBC Programmer's Reference (Справочник программиста по ODBC).

Функции, не поддерживаемые протоколом ODBC 3.x

•	Автоматическое заполнение значением по умолчанию дескриптора параметров реализации ().

•	Массивы параметров.

•	Функция SQLMoreResults или любые дополнения, относящиеся выполнению протокола в пакетном режиме.

•	Поля дескриптора, которые недоступны для ядра Jet (такие, как BASE_TABLE_NAME).

Функции DATETIME

Для функции SQLGetInfo в разделе InfoType SQL_SQL92_DATETIME_FUNCTIONS добавлены параметры QUARTER, DAYNAME, и MONTHNAME.

Поля для переменных среды

Драйверы ODBC Desktop Database Drivers поддерживают имеющиеся в ODBC 3.x и ODBC 2.x следующие возможности для управления набором ключей курсоров, доступных только для чтения: работу с закладками переменной длины, значения констант X/OPEN SQLSTATE, функцию SQLSetEnvAttr, возвращающую значение SQL_NO_DATA в случае неудачной попытки обновления, и выполнение, с помощью функции SQLFetch, выборки из набора строк.

Изменение местонахождения поддержки приложения Visual FoxPro

Пакет драйверов ODBC для баз данных, используемых на настольных компьютерах, не содержит файл IISAM для поддержки базы данных Visual FoxPro (Msxbse40.dll). Вместо него рекомендуется использовать драйвер Visual FoxPro ODBC. Этот драйвер можно найти на странице приложения Visual FoxPro узла Web интерактивной поддержки Microsoft Support Online, в разделе «Development Tools» (Средства разработки). Там же находится и вся необходимая для этого драйвера документация.


Архитектура драйверов, используемых для баз данных на настольных компьютерах

Эти драйверы предназначены для использования в операционных системах Microsoft Windows 95 (или более современной), или Windows NT версии 4.0 (или более современной). При этом в операционной системе Windows 95 (или более современной) поддерживаются только 32-битные приложения, а в операционной системе Windows NT версии 4.0 (или более поздней) поддерживаются как 16-битные, так и 32-битные приложения.

Примечание  Более подробно о версиях протоколов ODBC, которые используются с этими драйверами можно узнать из руководства ODBC Programmer's Reference (Справочник программиста по ODBC), а также предыдущих и настоящих заметках о выпуске. За исключением указанных в этих заметках особенностях, эти драйверы полностью соответствуют описанию, содержащемуся в руководстве ODBC Programmer's Reference (Справочник программиста по ODBC).

В состав драйверов ODBC включены 32-битные драйверы для работы с файлами приложений Microsoft Access, dBASE, Microsoft Excel, Paradox, а также текстовыми файлами. В состав драйверов не включены 16-битные драйверы. Драйвер для работы с файлами Microsoft FoxPro поставляется отдельно.

Архитектура системы приложение/драйвер для операционной системы Windows 95 (или более поздней версии) представляет собой:

Приложение (32-бит)
|
Диспетчер драйверов ODBC
(ODBC32.dll)
|
Драйвер ODBC для базы данных на настольном компьютере
(ODBCJT32.dll, MSJET35.dll, драйвер ISAM (32-бит)()
|
база данных

Использование этих драйверов при работе с 16-битными приложениями в операционной системе Windows 95 (или более поздней версии) не предусмотрено.

Архитектура системы приложение/драйвер для операционной системы Windows NT версии 4.0 (или более поздней версии) представляет собой:

Приложение (16-бит)	    Приложение (32-бит)

|	|
Диспетчер драйверов ODBC
(Odbc.dll)
|	|
16-бит ODBC универсальная библиотека кодов трансформации (DLL)
(Odbc16gt.dll)
|	|
32-бит ODBC универсальная библиотека кодов трансформации DLL
(Odbc32gt.dll)
|	|
Диспетчер драйверов ODBC	Диспетчер драйверов ODBC
(Odbc32.dll)	(Odbc32.dll)
|	|
ODBC Desktop Database Driver
(Odbcjt32.dll, Msjet35.dll, драйвер ISAM(32-бит))

|
база данных


Файлы драйвера ISAM

См.также

Драйверы ODBC базы данных для использования на настольных компьютерах версии 4.0 включают следующие файлы ISAM.

Драйвер	Файлы ISAM (32-бит)	Версии
Microsoft Access	Нет (включены в библиотеку Msjet40.dll)	Приложение Microsoft Access версии 7.0 и 97
Microsoft Access	Msrd2x40.dll	Приложение Microsoft Access версии 2.0
Microsoft Access	Msrd3x40.dll	Приложение Microsoft Access версии 3.0
dBase	Msxbde40.dll	Приложение dBase версий III, IV, и V (dBASE для Windows)
Microsoft Excel	Msexcl40.dll	Приложение Microsoft Excel версий 3.0, 4.0, 5.0, 7.0, 97 (1)
Paradox	Mspbde40.dll	Приложение Paradox версий 3.5, 4.0, 4.5, 5.x (Paradox для Windows)
Текстовый	Mstext40.dll	Текст ASCI

1	Драйвер ODBC для приложения Microsoft Excel не может прочесть файлы приложения Microsoft Excel версий более ранних, чем 3.0. Эти файлы следует открыть с помощью приложения Microsoft Excel одной их последних версий и сохранить в формате Microsoft Excel версии 3.0, 4.0, 5.0, 7.0, или 97, так чтобы драйвер ODBC был в состоянии их прочесть.

Приложение Microsoft FoxPro

В состав драйверов ODBC для баз данных, используемых на настольных компьютерах, не входит драйвер ODBC для приложения Microsoft FoxPro. Драйверы для работы с приложением Microsoft FoxPro можно получить в узле Web службы интерактивной поддержки Microsoft Support Online.

Записи в реестре

Параметры реестра драйвера IISAM первоначально устанавливаются при вызове функции DLLRegisterServer, при вызове соответствующей библиотеки IISAM DLL и, после вызова функции DLLUnregisterServer, удаляются. Эта функция DLLRegisterServer динамически вызывается для каждой библиотеки динамической компоновки (DLL) драйвера IISAM функцией Jet ODBC. Например, если при попытке подключения с помощью драйвера Paradox IISAM произошел сбой, драйвер попытается произвести инициализацию драйвера IISAM (вызывающего DLLRegisterServer) и повторить подключение.


Файлы компонентов ODBC

См.также

В приведенной ниже таблице содержатся файлы необходимые для каждого из компонентов драйверов ODBC для баз данных на настольном компьютере версии 4.0. Для операционной системы Windows 95 (или более современной) эти файлы устанавливаются в каталоге \Windows\System, а для операционной системы Windows NT версии 3.51 (или более современной) в каталоге \Windows\System32. Если файлы ODBC были ранее установлены в другой каталог, убедитесь, что используются именно новые файлы из каталога \Windows\System (или System32).

Некоторые файлы используются более чем одним компонентом. В случае если вы собирается перераспределить драйверы ODBC для ваших коммерческих приложений, эти файлы следует переназначить.

Приведенные ниже файлы являются общими для всех драйверов ODBC баз данных версии 4.0.

Ds16gt.dll Ds32gt.dll Expsrv.dll Msjint40.dll Msjet40.dll Msjter40.dll Msjtes40.dll Msvcrt40.dll Odbc16gt.dll	Odbc32.dll Odbc32gt.dll Odbccp32.cpl Odbccp32.dll  Odbccr32.dll Odbcinst.cnt Odbcinst.hlp Odbcint.dll  Odbcjet.hlp	Odbcjet.cnt  Odbcji32.dll Odbcjt32.dll Odbcjtnw.hlp Odbcjtnw.cnt Odbctl32.dll  Vbajet32.dll Odbctrac.dll
Приведенные ниже файлы принадлежат только одному из драйверов:

Драйвер	Файл
Microsoft Access	Msrd2x40.dll Msrd3x40.dll
dBASE	Msxbse40.dll Oddbse32.dll
Microsoft Excel	Msexcl40.dll Odexl32.dll
Paradox	Mspdox40.dll Odpdx32.dll
Текстовый	Mstext40.dll Odtext32.dll


Требования к оборудованию и программному обеспечению

Требования к оборудованию

Чтобы использовать драйверы ODBC баз данных на настольном компьютере вы должны иметь:

•	IBM-соместимый настольный компьютер;

•	накопитель на жестком диске, на котором должно быть свободно не менее 6 MБ;

•	по крайней мере 16 MБ памяти (RAM).

Требования к программному обеспечению

Для получения доступа к данным с помощью драйвера ODBC вы должны иметь:

•	драйвер ODBC;

•	диспетчер драйвера ODBC (32-Бит) версии 3.51 или более поздней (Odbc32.dll);

•	операционную систему Microsoft Windows 95 (или более современную), или операционную систему Windows NT версии 4.0 (или более современную);

•	размер стека для приложения, использующего драйвер Microsoft ODBC должен быть не менее 20K.

При использовании операционной системы Microsoft Windows NT версии 4.0 или более современной, 32-битный драйвер обеспечивает безопасность потока, но только при использовании глобального флага, который контролирует доступ к драйверу. В операционной системе Windows NT параллельное использование драйвера очень ограничено. Все процессы, имеющие доступ к слою Jet ISAM должны быть однопоточными для всех приложений, использующих процессор Microsoft Jet.

При запуске нескольких 16-битных приложений в Windows on Windows (WOW) в операционной системе Microsoft Windows NT 4.0, приложения должны запускаться в отдельной области памяти. (Одну и ту же область памяти использовать для запуска приложений нельзя, поскольку протокол ODBC не поддерживает несколько переменных среды для одного и того же процесса.) Чтобы запустить приложение в отдельной области памяти выберите значок приложения в диспетчере программ операционной системы Windows NT, затем выберите в меню Файл команду Свойства и команду Выполнить (предварительно установите флажок Run In Separate Memory Space (Выполнять в отдельной области памяти)).

Использование этих драйверов 16-битным приложением в операционной системе Windows 95 не поддерживается.

Требования к программному обеспечению и оборудованию, предъявляемые при установке конкретного драйвера

•	Использование драйвера для приложений Microsoft Access и dBASE может потребовать внесение изменений в файлы Autoexec.bat или Config.sys.


Изменения, вносимые в файлы Config.sys и Autoexec.bat

Если вы работаете с драйвером ODBC приложения Microsoft Access в операционной системе Microsoft Windows 95/98 (но не в операционной системе Microsoft Windows NT) и на вашем компьютере не установлено приложение Microsoft Access, в файл Config.sys следует добавить строку FILES= 50.


Установка драйверов

1	Дважды щелкните значок панели управления. В окне панели управления, дважды щелкните значок Источники данных ODBC (или откройте окно программы ODBC Administrator непосредственно, с помощью команды Открыть).

2	Выберите вкладку Драйверы.

С помощью панели управления или администратора уже нельзя добавить или удалить драйверы. Вкладка Драйверы окна администратора ODBC не содержит кнопок Добавить и Удалить. Добавление и удаление драйверов можно выполнить только при установке драйверов ODBC баз данных для настольного компьютера с помощью собственной программы установки.


Добавление источника данных

См.также

1	Дважды щелкните значок панели управления. В окне панели управления дважды щелкните значок Источники данных ODBC.

2	Выберите одну из вкладок Пользовательский DSN, Системный DSN, или Файловый DSN.

3	Нажмите кнопку Добавить.

4	В диалоговом окне Создание нового источника данных выберите имя драйвера и следуйте за указаниями мастера.


Изменение источника данных

1	Дважды щелкните значок панели управления. В окне панели управления дважды щелкните значок Источники данных ODBC.

2	Выберите в зависимости от вида изменяемого источника данных, одну из вкладок Пользовательский DSN, Системный DSN или Файловый DSN.

3	Выберите из списка источник данных. Если изменяется файл DSN, найдите соответствующий каталог в поле Папка (для перехода на верхний уровень можно использовать соответствующую кнопку), а затем выберите источник данных из каталога.

4	Нажмите кнопку Настройка и установите необходимый источник данных.


Удаление источника данных

1	Дважды щелкните значок панели управления. В окне панели управления, дважды щелкните значок Источники данных ODBC

2	Выберите в зависимости от вида изменяемого источника данных, одну из вкладок Пользовательский DSN, Системный DSN или Файловый DSN.

3	Выберите из списка источник данных. Если изменяется файл DSN, найдите соответствующий каталог в поле Папка (для перехода на верхний уровень можно использовать соответствующую кнопку), а затем выберите источник данных из каталога.

4	Нажмите кнопку Удалить, а затем для подтверждения удаления нажмите кнопку Да.


Преобразование источника данных

32-битный источник данных, используемый совместно с драйверами ODBC баз данных на настольном компьютере версии 2.0 автоматически преобразовывается в 32-битный источник данных для драйверов версии 4.0. Для 16-битного источника данных преобразование не предусмотрено. Для того, чтобы преобразовать 16-битный источник данных в 32-битный следует создать новый 32-битный источник данных, а затем (по возможности) удалить старый 16-битный источник. Следует учесть, что у 32-битный и 16-битный источники данных должны иметь разные имена.


Динамическое изменение, удаление и добавление источников данных

См.также

Для динамического изменения, добавления и удаления источника данных можно воспользоваться функцией SQLConfigDataSource. Эта функция, используя ключевые слова, задает параметры связывания, которые устанавливаются с помощью панели управления и диалогового окна установки. Эту функцию следует использовать в случае, когда вы хотите изменить, добавить или удалить источник данных без появления диалогового окна установки.


Поддержка продуктов

Поддержку продукта ODBC осуществляется службой технической поддержки Microsoft, Microsoft Technical Support (MTS). Поскольку многие продукты Microsoft используют ODBC в качестве основного компонента и, кроме того, выполняют перераспределение драйверов ODBC, служба поддержки MTS осуществляет поддержку любого продукта содержащего ODBC в качестве составной части. Поддержка продукта ODBC осуществляется в соответствии с соглашением о поддержке продукта. Для каждого из продуктов Microsoft имеется свое собственное предложение о поддержке, которое описано в документах, поставляемых с продуктом. Для определения того, какую именно поддержку можно получить, следует справиться в этих документах.


Диалоговое окно программы установки ODBC

Диалоговое окно программы установки драйверов ODBC содержит приведенные ниже поля. Для большинства из этих параметров возможна динамическая установка с помощью ключевых слов функции SQLConfigDataSource.

Флажок «Примерное число строк»

Поле «Размер буфера»

Поле со списком «Порядок сортировки»

Поле «Имя источника данных»

Группа «База данных»

Кнопка «Определить формат»

Поле «Описание»

Поле «Каталог»

Параметр «Шифрование»

Флажок «Монопольный доступ»

Группа «Список расширений»

Параметр ImplicitCommitSync

Параметр «Национальные настройки»

Поле со списком «Тип сети»

Поле «Время ожидания страницы»

Флажок «Только чтение»

Поле «Строк сканирования»

Кнопка «Выбор каталога»

Кнопка «Выбор индексов»

Кнопка «Выбор сетевого каталога»

Кнопка «Выбор книги»

Флажок «Показ удаленных строк»

Кнопка «Системная база данных»

Параметр «Потоки»

Флажок «Использовать текущий каталог»

Параметр UserCommitSync

Поле «Пользователь»

Поле со списком «Версия»


Флажок «Примерное число строк»

Отображается только при работе с драйвером для базы данных dBASE.

Определяет, вычисляются ли данные о размерах таблиц. Этот параметр применяется ко всем источникам данных, которые используют драйвер ODBC. Для динамического изменения этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом STATISTICS.


Поле «Размер буфера»

Отображается только при работе с драйвером для базы данных Microsoft Access.

В этом поле отображается размер внутреннего буфера (в килобайтах), который используется приложением Microsoft Access для передачи данных на диск и с диска. По умолчанию размер буфера устанавливается равным 2048 КБ (в поле отображается число 2048). Для установки размера буфера в это поле можно ввести любое целое число кратное числу 256. Для динамической установки размера буфера с помощью функции SQLConfigDataSource следует воспользоваться ключевым словом MAXBUFFERSIZE.


Поле со списком «Порядок сортировки»

Отображается только при работе с драйверами баз данных dBASE и Paradox.

В этом поле можно выбрать порядок, в соответствие с которым производится сортировка полей.

При использовании драйвера базы данных dBASE, порядок сортировки определяется значением параметра в поле: ASCII (используется по умолчанию) или International.

При использовании драйвера для базы данных Paradox, порядок сортировки определяется значением параметра в поле и может быть: ASCII (используется по умолчанию), International (Международный), Swedish-Finnish (Шведский-Финнский), или Norwegian-Danish (Норвежский-Датский).

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


Поле «Имя источника данных»

В этом поле содержится имя, в соответствии с которым идентифицируется источник данных (например, платежная ведомость или список сотрудников).

Для динамической установки этого параметра с помощью функции SQLConfigDataSource следует воспользоваться ключевым словом DSN.


Группа «База данных»

См.также

Отображается только для драйвера базы данных Microsoft Access.

В этой группе устанавливается путь к базе данных Microsoft Access, к файлам которой вы намереваетесь получить доступ. С помощью кнопки Выбрать можно выбрать из уже существующих файлов баз данных нужный вам файл. С помощью кнопки Создать можно создать новую базу данных Microsoft Access.

Путь к источнику данных для базы данных Microsoft Access можно установить, не выполняя выбор или создание базы данных. Если при установке не были поставлены файлы базы данных, то при подключении к источнику данных пользователю будет предложено самому выбрать файл базы данных.

Для исправления поврежденных баз данных, можно воспользоваться кнопкой Восстановить, а для сжатия файла базы данных — кнопкой Сжать.

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


Кнопка «Определить формат»

См.также

(Эта кнопка появляется только при установке текстового драйвера.)

Появляется диалоговое окно Определение текстового формата, где в каталоге источника данных можно задать схему для отдельных таблиц.

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


Поле «Описание»

В этом поле содержится необязательное описание данных источника данных, например, «Дата поступления на работу, изменения зарплаты, и список мест работы.»

Для динамической установки значения в этом поле следует при вызове функции SQLConfigDataSource использовать ключевое слово DESCRIPTION.


Поле «Каталог»

В поле «Каталог» отображается выбранный в настоящее время каталог. Перед выбором источника данных необходимо выбрать каталог. Для этого следует либо нажать кнопку Выбор каталога, либо использовать текущий рабочий каталог приложения и для этого установить флажок «Использовать текущий каталог». (Этого нельзя сделать для драйвера базы данных Microsoft Access.)

Для файлов приложений Microsoft Excel 3.0/4.0, путь отображается в поле «Каталог», а для файлов Microsoft Excel 5.0, 7.0, или 97, путь отображается в поле «Книга».

Для динамической установки этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом DEFAULTDIR.


Параметр «Шифрование»

(Отображается только для драйвера Microsoft Access и доступен только при выборе формата версии 4.x.)

После выпуска версии 4.0 ядра базы данных Microsoft Jet, можно при создании базы данных разрешить ее шифрование. Для получения дополнительных сведений можно использовать руководство Jet Database Engine Programmer's Reference.


Флажок «Монопольный доступ»

(Отображается только для драйверов баз данных dBASE, Microsoft Access, и Paradox.)

При установке флажка Монопольный доступ база данных открывается в монопольном режиме, и доступ к этой базе данных в одно и то же время может получить только один пользователь. Если же флажок Монопольный доступ снят, база данных открывается в режиме общего доступа, и несколько пользователей могут одновременно работать с этой базой данных. При переходе в монопольный режим увеличивается быстродействие.

Для динамической установки этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом EXCLUSIVE.


Группа «Список расширений»

(Этот элемент отображается только для текстового драйвера.)

В этой группе приведены расширения текстовых файлов источников данных. Чтобы пользоваться всеми файлами, находящимися в каталоге установите флажок По умолчанию (*.*). Чтобы пользоваться файлами с определенными расширениями следует снять флажок По умолчанию (*.*) и добавить необходимые расширения. Как только будет снят флажок По умолчанию (*.*), в списке расширений появляются расширения по умолчанию для текстовых файлов — *.asc, *.csv, *.tab, и *.txt.

Для того, чтобы добавить новое расширение надо ввести его в поле Расширение и нажать кнопку Добавить. Расширение должно иметь формат *.xxx. Например, чтобы использовать файлы с расширением .dat, введите *.dat. Чтобы удалить расширение из списка Расширение, следует выбрать его и нажать кнопку Удалить. Удаление всех расширений эквивалентно установке флажка По умолчанию (*.*): В этом случае будут отображаться все файлы.

В случае использования текстового драйвера файлы без расширений создаются при выполнении инструкции CREATE TABLE для файла без расширения. Все остальные драйверы, при отсутствии расширения файла, создают файл с расширением по умолчанию. Для создания файла с расширением .TXT, расширение должно быть включено в имя. Для отображения файлов без расширений следует в список расширений в диалоговом окне Определение текстового формата добавить знак *.

Для динамической установки этих параметров следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом EXTENSIONS.


Параметр ImplicitCommitSync

(Этот элемент отображается только в случае использования драйвера Microsoft Access.)

Определяет, как именно, произведенные вне транзакций изменения записываются в базу данных. Для этого параметра первоначально установлено значение Yes, это означает, что драйвер Microsoft Access будет ожидать завершения внутренней/внешней транзакции.

Этот параметр находится в списке в диалоговом окне Дополнительные параметры драйвера Microsoft Access.


Поле со списком «Тип сети»

(Отображается для драйвера базы данных Paradox.)

Это поле используется при выборе способа доступа к данным, содержащихся в файлах базы данных Paradox. Для доступа к данным Paradox 3.x устанавливается значение «3.x», для доступа к данным Paradox 4.x или 5.x устанавливается значение «4.x». Если используются версии 4.x или 5.x базы данных Paradox значение поля может быть установлено «3.x» или «4.x», а в случае базы Paradox 3.x, значение поля должно быть установлено равным «3.x».

Для динамической установки этих параметров следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом PARADOXNETSTYLE.


Поле «Время ожидания страницы»

(Это поле отображается только для драйверов баз данных dBASE, Microsoft Access, и Paradox.)

В этом поле задается интервал времени, в десятых долях секунды, в течение которого неиспользуемая страница остается в буфере перед ее удалением. Для драйвера базы Microsoft Access интервал времени, устанавливаемый по умолчанию, составляет пять десятых секунды (0.5 секунды). Для драйверов баз данных dBASE и Paradox, соответствующий интервал времени составляет 600 десятых секунды (60 секунд). Этот параметр задается для всех источников данных, использующих драйвер ODBC.

Данный интервал времени не может быть равен нулю из-за существования интервала времени, соответствующего неустранимой задержки страницы в буфере. Интервал времени, в течение которого не используемая страница остается в буфере перед ее удалением не может быть меньше интервала неустранимой задержки, даже если в поле Время ожидания страницы введена величина, меньшая, чем интервал неустранимой задержки.

Для динамической установки этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом PAGETIMEOUT.


Флажок «Только чтение»

Помечает базу данных как элемент только для чтения.

Для динамической установки этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом READONLY.


Поле «Строк сканирования»

(Отображается только при использовании драйверов для данных из электронных таблиц Microsoft Excel и текстовых файлов.)

В этом поле задается число строк, предназначенных для просмотра с целью определения в каждом столбце типа данных. Тип данных определяется по типу данных, который имеют максимальное число просмотренных данных. В случае если в просмотренных данных попадутся величины, не соответствующие принятому для этого столбца типу данных, в качестве типа данных устанавливается нулевое значение (NULL).

Для драйвера ODBC электронных таблиц Microsoft Excel можно установить число строк для просмотра от 1 до 16. По умолчанию просматриваются 8 строк; если же число строк для просмотра задано равным нулю, выполняется просмотр всех строк. (В случае, если в этом поле установлено значение, выходящее за заданные границы, появится сообщение об ошибке.)

При использовании текстового драйвера ODBC (для текстовых файлов), можно задать число строк для просмотра в интервале от 1 до 32767, по умолчанию эта величина устанавливается равной 25. (В случае если в этом поле установлено значение, выходящее за заданные границы, появится сообщение об ошибке.)

Для динамической установки этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом MAXSCANROWS.


Кнопка «Выбор каталога»

(Появляется только при использовании драйверов для dBASE, Microsoft Excel 3.0/4.0, Paradox и текстового.)

Если нажать эту кнопку, появляется диалоговое окно, где можно выбрать каталог с файлами, к которым надо установить доступ.

После определения каталога с источником данных (для всех драйверов, за исключением драйвера для Microsoft Access), следует задать каталог, где находятся файлы, к которым вы часто обращаетесь. Драйвер ODBC будет использовать этот каталог в качестве каталога, заданного по умолчанию. Кроме того, следует в этот каталог скопировать те файлы, которые вы наиболее часто используете. Иначе вам придется задавать имена этих файлов вместе с каталогами в инструкции SELECT:

SELECT * FROM C:\MYDIR\EMP

Или же, вы можете задать новый каталог для использования по умолчанию с помощью функции SQLSetConnectOption с параметром SQL_CURRENT_QUALIFIER.

В случае драйвера базы данных Microsoft Access, можно задать имя каталога, который будет использоваться по умолчанию в поле DefaultDir (в диалоговом окне Дополнительные параметры), так как можно создать источник данных без соответствующего файла .mdb.

Отображения пути к каталогу-книге (приложение Microsoft Excel)

Для файлов электронных таблиц Microsoft Excel версий 3.0 или 4.0, поле для отображения пути называется «Каталог», а кнопка для выбора пути — «Выбор каталога». Для файлов электронных таблиц Microsoft Excel версий 5.0, 7.0, или 97, поле для отображения пути называется «Книга», а кнопка для выбора пути — «Выбор книги». При определении каталога источника данных следует задать каталог, в котором находятся наиболее часто используемые файлы электронных таблиц Microsoft Excel версий 3.0/4.0 или же каталог, где находятся файлы книг таблиц Microsoft Excel 5.0, 7.0, или 97. При настройке драйверов для Microsoft Excel 5.0, 7.0, или 97 флажок Использовать текущий каталог— недоступен.

Для динамической установки этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом DEFAULTDIR.


Кнопка «Выбор индексов»

См.также

(Отображается только для драйвера базы данных dBASE.)

Если нажать эту кнопку появляется диалоговое окно Выбор индексов, в котором можно установить связь файлов базы данных dBASE с файлами индексов. Диалоговое окно Выбор индексов содержит перечисленные ниже поля.

Поле Таблицы

В этом поле отображается список файлов для выбранного в настоящее время источника данных.

Поле Индексы

В этом поле отображаются индексы, назначенные файлу выбранному в поле таблиц.

Поле Тип файлов

В этом поле можно выбрать типы файлов для отображения в поле Индексы.

Установление связи индекса с таблицей

1	Выберите в списке Таблицы какой-либо файл.

2	Из списка Индексы выберите индекс.

3	Чтобы сохранить установленную между таблицей и индексом связь, нажмите кнопку OK.

Примечание  Индексы базы данных dBASE III должны назначаться с помощью этого же диалогового окна для драйвера, который их опознает.

Примечание  Драйвер ODBC базы данных dBASE не поддерживает работу с индексными файлами базы данных Clipper .ntx.

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


Кнопка «Выбор сетевого каталога»

(Появляется только при использовании драйвера ODBC базы данных Paradox.)

С помощью этой кнопки можно выбрать полный путь к каталогу, содержащему заблокированную базу данных Paradox, поскольку там находится один из файлов Pdoxusrs.net (для приложения Paradox 4.x) или Paradox.net (для приложения Paradox 5.x). В случае если в этом каталоге нет ни одного из этих файлов, драйвер базы данных Paradox создаст один такой файл. Более подробные сведения можно найти в документации приложения Paradox.

Перед тем, как выбрать сетевой каталог вам следует ввести в поле Пользователь имя пользователя базы данных Paradox. Чтобы выбрать сетевой каталог нажмите кнопку Выбор сетевого каталога.

Для динамической установки этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом PARADOXNETPATH


Кнопка «Выбор книги»

(Этот элемент управления отображается только в случае драйверов для файлов Microsoft Excel 5.0, 7.0, или 97.)

С помощью этой кнопки можно (для файлов Microsoft Excel 5.0, 7.0, или 97) отобразить выделенную в настоящее время книгу. Перед тем, как добавить источник данных, вы должны нажать кнопку Выбор книги и выбрать нужный вам каталог.

Листы в пределах книги обрабатываются как системные таблицы (SYSTEM TABLES). Заданные или именованные области в пределах листа обрабатываются как таблицы (TABLES).


Флажок «Показ удаленных строк»

(Этот элемент управления отображается только в для драйвера базы данных dBASE.)

Установка этого флажка определяет, будут или нет строки, помеченные в качестве удаленных, восстановлены для использования. Если этот флажок снят, удаленные строки не отображаются, если же флажок установлен — удаленные строки можно использовать так же, как и неудаленные. По умолчанию этот флажок не устанавливается.

Для динамической установки этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом DELETED.


Параметр «Национальные настройки»

(Этот элемент управления отображается только для драйвера базы данных Microsoft Access.)

С помощью этого параметра для базы данных устанавливаются национальные настройки (LCID). Этот параметр может принимать значения:

общие (английский, французский, немецкий, португальский, итальянский), традиционный испанский, голландский, шведский/финский, норвежский/датский, исландский, чешский, венгерский, польский, русский, турецкий, арабский, еврейский, греческий, японский, корейский, китайский (Тайвань) или китайский (КНР).

Этот параметр нельзя динамически установить с помощью функции SQLConfigDriver.


Кнопка «Системная база данных»

(Эта кнопка отображается только для драйвера базы данных Microsoft Access.)

Определяет полный путь к системной базе данных приложения Microsoft Access к которой вы желаете получить доступ.

Для того чтобы выбрать нужную вам системную базу данных следует нажать кнопку Системная база данных. Драйвер ODBC базы данных Microsoft Access предложит пользователю ввести имя и пароль. Именем, заданным по умолчанию является Admin, а паролем для пользователя Admin в базе данных Microsoft Access является пустая строка.

Для обеспечения безопасности вашей базы Microsoft Access создайте вместо пользователя Admin нового пользователя, а затем либо удалите пользователя Admin, либо измените объекты, к которым имеет доступ пользователь Admin.

Если не предполагается использовать системные базы данных, следует установить переключатель Нет. Для подключения к базе данных Microsoft Access в качестве пользователя Admin, следует установить переключатель Нет. В этом случае системные базы данных не будут использоваться.

Для динамической установки этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом SYSTEMDB.

Более подробные сведения о системных базах данных и пользователе Admin можно получить из документации приложения Microsoft Access.


Параметр «Потоки»

(Этот элемент управления отображается только для драйвера базы данных Microsoft Access.)

С помощью этого параметра задаетсядля ядра программы количество фоновых потоков. Для драйвера базы данных Microsoft Access эта величина устанавливается по умолчанию равной 3, однако, ее можно изменить. При интенсивной работе с базой данных пользователь может увеличить число потоков.

Этот параметр для драйвера Microsoft Access содержится в диалоговом окне Дополнительные параметры.

Для динамической установки этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом THREADS.


Флажок «Использовать текущий каталог»

(Этот элемент отображается только для драйверов ODBC для dBASE, Microsoft Excel, Paradox и текстового.)

При установке этого флажка текущий каталог приложения становится каталогом источника данных, кнопка Выбор каталога становится недоступна. Если этот флажок снят, пользователь может сам с помощью кнопки Выбор каталога выбрать каталог источника данных.

Флажок Использовать текущий каталог недоступен для драйверов электронных таблиц Microsoft Excel 5.0, 7.0, или 97.


Параметр UserCommitSync

(Этот параметр отображается только для драйвера ODBC базы данных Microsoft Access.)

Этот параметр определяет, будет ли драйвер Microsoft Access выполнять определяемые пользователем транзакции асинхронно. Первоначально для этого параметра установлено значение Yes, — это означает, что драйвер базы данных Microsoft Access будет ожидать завершения определенной пользователем транзакции.

Установка значения этого параметра False в многопользовательской среде может привести к непредсказуемым последствиям.

Этот параметр для драйвера Microsoft Access содержится в диалоговом окне Дополнительные параметры.

Для динамической установки этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом USERCOMMITSYNC.


Поле «Пользователь»

(Это поле отображается только для драйвера базы данных Paradox.)

Это поле содержит имя пользователя базы данных Paradox. Это имя, которое в случае блокировки базы отображается для других пользователей базы данных Paradox.

Для динамической установки этого параметра следует при вызове функции SQLConfigDataSource воспользоваться ключевым словом PARADOXUSERNAME.


Поле со списком «Версия»

В этом раскрывающемся списке можно выбрать версию для используемых файлов базы данных. Например, dBASE III, dBASE IV, или dBASE 5.0 для драйвера базы данных dBASE.

Для драйвера ODBC базы данных Microsoft Access, вы можете выбрать формат базы данных в соответствии с версией этого приложения. Для драйвера базы данных версии 4.x предусмотрена возможность шифрования базы данных.


Выбор базы данных

Введите полный путь к имеющейся базе данных Microsoft Access, доступ к которой вы хотите получить.


Создание базы данных

Введите полный путь к новой базе данных Microsoft Access, которую вы хотите создать.


Определение текстового формата

См.также

В случае использования текстового драйвера ODBC можно в диалоговом окне Определение текстового формата задать для выбранных файлов формат столбцов. В этом диалоговом окне можно для каждого типа данных определить схему. Эти сведения записываются в файл Schema.ini в каталоге с источником данных. Для каждого источника текстовых данных создаются отдельные файлы Schema.ini.

Примечание  Такой же, используемый по умолчанию формат, применяется для всех новых таблиц текстовых данных. Все файлы, созданные с помощью инструкции CREATE TABLE, наследуют те же самые, принятые по умолчанию значения параметров формата, установленные в диалоговом окне определения текстового формата при выборе в списке таблиц элемента <default>. Использование текстового драйвера ODBC не изменяет в соответствии с определенным в этом диалоговом окне форматом, формат уже существующих текстовых файлов, а при попытке выбрать данные текстового файла возвращает сообщение об ошибке.

Элемент управления	Сведения
Кнопка «Добавить»	Добавляет новый столбец с помощью заданных в этом диалоговом окне значений в полях «Типа данных», «Имя» и «Ширина», а также, если возможно, значения для разделителя данных из файла Schema.ini.
Переключатель «Набор символов»	Можно установить наборы символов ANSI или OEM. OEM определяет набор символов, отличный от ANSI. По умолчанию этот переключатель установлен в положение OEM, если только в данном диалоговом окне ранее не был определен формат для выделенного элемента списка «Таблицы».
Флажок «Заголовок с именами столбцов»	Определяет, будут ли элементы столбцов в первой строке выбранной таблицы использованы в качестве имен столбцов. По умолчанию этот флажок снят, если только формат элемента, выбранного в поле «Таблицы» не был ранее определен с помощью данного диалогового окна.
Поле со списком «Столбцы»	Содержит имена столбцов для каждого столбца выбранной таблицы. Порядок, в котором столбцы приведены в этом поле, такой же, как и в таблице. Этот список становится доступным при выделении любой таблицы в поле «Таблицы».
Поле «Тип данных»	В этом поле можно установить типы данных: BIT, BYTE, CHAR, CURRENCY, DATE, FLOAT, INTEGER, LONGCHAR, SHORT, или SINGLE. Типы данных для дат можно задать в следующих форматах: «дд-ммм-гг», «мм-дд-гг», «ммм-дд-гг», «гггг-мм-дд», или «гггг-ммм-дд». «мм» соответствует номеру месяца; «ммм» соответствует буквенному сокращению для месяцев.
Поле «Разделитель»	В этом поле можно выбрать символ для использования его в качестве разделителя для отделения столбцов. Это поле доступно, если установлен формат «Специальные разделители». Разделитель может быть только одним символом. Нельзя использовать в качестве разделителя («), двойные кавычки. (Разделитель нельзя задавать в десятичном или шестнадцатеричном виде.)
Поле со списком «Формат»	Можно выбрать формат с помощью разделителя или фиксированной длины. Если формат задается с помощью разделителя, то в качестве разделителя используются: запятая (CSV), знак табуляции или специальный разделитель (символ). По умолчанию устанавливается в качестве разделителя запятая (CSV).если только в данном диалоговом окне ранее не был определен формат для выделенного элемента списка «Таблицы». Если же выбран формат фиксированной длины и установлен флажок «Заголовок с именами столбцов», в первой строке в качестве разделителя должна быть использована запятая.
Кнопка «Предположить»	Автоматически генерирует для столбцов в выделенной таблице значения типа данных, имени и ширины путем сканирования содержимого таблицы в соответствие с выбором формата в списке «Формат». Эта кнопка доступна, если таблица содержит разделители. Любые, ранее заданные столбцы в поле со списком «Столбцы» удаляются и заменяются новыми записями. Если флажок «Заголовок с именами столбцов» не установлен, именами столбцов, которые генерируются, автоматически будут F1, F2 и так далее. По умолчанию поле «Тип данных» не содержит никаких значений. Эта функция работает, только если каждый столбец содержит не более 64,513 байт.
Кнопка «Изменить»	Изменяет выбранный столбец в соответствии со значениями, содержащимися в полях «Тип данных», «Имя» и «Ширина».
Поле «Имя»	Отображает имя выделенного столбца. Используется также для задания нового имени для столбца, как уже существующего, так и вновь созданного. При установке флажка «Заголовок с именами столбцов» отображаемое имя столбца не учитывается.
Кнопка «Удалить»	Удаляет выделенный столбец.
Поле «Строк сканирования»	Число строк, которые программа установки или драйвер будут просматривать при назначении столбцам типов данных (определяется имеющимся набором данных). Можно ввести любое число от 1 до 32767 в качестве числа просматриваемых строк. По умолчанию это число устанавливается равным 25, если только в данном диалоговом окне ранее не был определен формат для выделенного элемента списка «Таблицы». (При задании числа, выходящего за границы указанного интервала, появляется сообщение об ошибке.)
Поле со списком «Таблицы»	Содержит список всех файлов в каталоге, выбранном в диалоговом окне Установка текстового драйвера ODBC, и которые соответствуют заданному списку расширений. Если установлен флажок «По умолчанию» и верно одно из утверждений приведенных ниже, атрибуты таблицы, определенные в группе «Таблицы» записываются в файл Schema.ini. Все остальные записи в файле Schema.ini не изменяются. • Файл Schema.ini в заданном каталоге не содержится. • Файл Schema.ini file существует, но в нем нет раздела ни для одного текстового файла (с определенными расширениями) из указанного каталога. • Раздел для текстовых файлов в файле Schema.ini существует, но тело этого раздела пусто. При установке флажка «По умолчанию», элементы группы «Столбцы» недоступны.
Поле «Ширина»	Для столбца, данные в котором имеют формат CHAR или LONGCHAR можно изменить ширину столбца. По умолчанию ширина принимается равной 1, если только в данном диалоговом окне ранее не был определен формат для выделенного элемента списка «Таблицы». Для данных других типов изменить ширину нельзя и в поле «Ширина» ничего не отображается.


Схема

Схема содержит сведения о каждой таблице (текстовом файле) источника данных, включая формат таблиц, число строк для сканирования при определении типа столбцов, сведения о том, содержит ли первая строка таблицы имена столбцов, а также какой набор символов OEM или ANSI был использован при записи файла источника данных. Кроме того, схема содержит данные об имени столбца, его ширине и типе данных.


Файл Schema.ini

См.также

В случае использования текстового драйвера, формат текстового файла определяется с помощью информационного файла схемы. Информационный файл схемы, который всегда носит имя Schema.ini и находится в том же каталоге, что и источник данных и предоставляет драйверу IISAM сведения об общем формате файла, имени столбца и типе данных, а также о ряде других характеристик данных. Файл Schema.ini всегда требуется при доступе к данным фиксированной длины. Вам следует использовать файл Schema.ini в случае, если ваша текстовая таблица содержит данные типа DateTime, Currency, или Decimal, а также при работе с данными в таблице, когда вам необходимо иметь больше возможностей управления.

Примечание  Драйвер ISAM для текстовых данных получает начальные значения из реестра, а не из файла Schema.ini. Этот же формат используется по умолчанию для всех новых таблиц с данными текстового типа. Все файлы, созданные с помощью инструкции CREATE TABLE наследуют значения характеристик формата по умолчанию. Эти значения характеристик формата файла были установлены в диалоговом окне Определение текстового формата, при выборе в списке Таблицы был элемента <default>. Если значения для характеристик формата в реестре отличаются от тех же значений в файле Schema.ini, значения в реестре заменяются значениями из файла Schema.ini.

Объяснение назначения и содержания файлов Schema.ini

Файлы Schema.ini являются источником сведений для схемы о записях в текстовом файле. Каждая запись в файле Schema.ini определяет одну из пяти характеристик таблицы:

•	имя текстового файла;

•	формат файла;

•	имена полей, типы и значения ширины;

•	набор символов;

•	преобразования для данных определенного типа.

Обсуждение этих характеристик содержится в следующих разделах.

Определение имени файла

Первой записью файла Schema.ini всегда является приведенное в квадратных скобках имя файла — источника текстовых данных. Например, запись для файла Sample.txt выглядит так:

[Sample.txt]

Определение формата файла

Формат текстового файла определяется параметром Format в файле Schema.ini. Драйвер IISAM для текстовых данных автоматически определяет формат для большинства текстовых файлов, где в качестве разделителя используются символы. В этом случае в качестве разделителя может быть использован один любой буквенный символ, за исключением двойных кавычек ("). Значения характеристик формата текстового файла, установленные в реестре операционной системы Windows, заменяются соответствующими значениями параметра Format из файла Schema.ini для данного текстового файла. Следующая таблица содержит список допустимых значений параметра Format.

Задание формата	Формат таблицы	Инструкция Format из файла Schema.ini
Разделенные символом табуляции (Tab)	Поля в файле разделяются символом табуляции.	Format=TabDelimited
Разделенные запятой CSV	Поля в файле разделяются запятой.	Format=CSVDelimited
Разделенные выбранным символом	Поля в файле разделяются любым выбранным в диалоговом окне символом. (Можно выбрать любой символ, включая пробел, за исключением символа двойных кавычек ("))	Format=Delimited(выбранный символ) -или- если разделитель не задается: Format=Delimited( )
Записи фиксированной длины	В файле содержатся поля фиксированной длины.	Format=FixedLength
Определение полей

Для текстовых файлов, где в качестве разделителей применяется символ, задать имена полей можно следующими двумя способами:

•	включить имена полей в первую строку таблицы и установить для параметра ColNameHeader значение True;

•	определить столбец по номеру и назначить данному столбцу имя и тип данных.

Вы должны будете определить каждый столбец по номеру и назначить каждому столбцу имя столбца, тип данных и ширину (для файлов с полями фиксированной длины).

Примечание  Значения параметра FirstRowHasNames, установленные для файла в реестре операционной системы Windows, заменяются соответствующими значениями параметра ColNameHeader из файла Schema.ini (для рассматриваемого файла).

Можно также определить для полей типы данных. При определении типов столбца можно, с помощью параметра MaxScanRows, задать количество строк для сканирования. Если установить значения параметра MaxScanRows равным 0 будет выполнено сканирование всего файла. Значение для этой величины (для данного файла), установленные в реестре операционной системы Windows, заменяются значением параметра MaxScanRows, установленного в файле Schema.ini.

Приведенные ниже записи означают, что для определения имен полей ядро базы данных Microsoft Jet использует данные из первой строки таблицы, а для определения типов данных этой таблицы будет просканирован весь файл:

ColNameHeader=True

MaxScanRows=0

Следующая запись с помощью параметра (Coln) назначает полям таблицы номера. Этот параметр следует использовать для файлов с полями фиксированной длины, однако его можно также использовать для файлов с символьными разделителями. В примере показаны записи файла Schema.ini для двух полей, 10-символьного текстового поля CustomerNumber и 30-символьное текстового поля CustomerName.

Col1=CustomerNumber Text Width 10

Col2=CustomerName Text Width 30

Синтаксис для параметра Coln:

Coln=ColumnName type [Width #]

В приведенной ниже таблице описываются все части записи для Coln.

Параметр	Описание
ColumnName	Текстовое имя столбца. Если имя столбца содержит пробел, его следует взять в двойные кавычки.
type	В качестве типов данных могут быть: типы данных ядра базы данных Microsoft Jet, Bit, Byte, Short, Long, Currency, Single, Double, DateTime, Text, Memo; типы данных ODBC, Char (то же что и Text), Float (то же что и Double), Integer (то же что и Short), LongChar (то же что и Memo), Дата date format.
Ширина	Значение ширины строки символов. Следующее за этим параметром число определяет ширину столбца (этот параметр обязателен для файлов с фиксированной длиной поля и необязателен для файлов с разделителями).
#	Целое число, которое используется для определения ширины столбца (необходимо в случае задания значения параметра Ширина).
Выбор набора символов

Вы можете выбирать из двух наборов символов: ANSI и OEM. Запись в системном реестре операционной системы Windows о выбранном наборе символов для конкретного файла заменяется значением параметра CharacterSet, указанного в файле Schema.ini для данного файла. В качестве примера ниже приведена запись в файле Schema.ini для случая выбора набора символов ANSI:

CharacterSet=ANSI

Задание формата типов данных и преобразований

В файле Schema.ini содержатся ряд параметров, которые можно использовать для задания преобразования и отображения данных. Каждый из этих параметров описывается в приведенной ниже таблице.

Параметр	Описание
DateTimeFormat	Устанавливается для задания формата строки отображающей дату и время. Если все поля для даты.времени обрабатываются в соответствии с одним и тем же форматом, то эта запись должна быть задана. Поддерживаются все форматы ядра Microsoft Jet за исключением A.M. и P.M. Если строка формата не задана, используется заданный в панели управления Windows короткий формат для даты и времени.
DecimalSymbol	Можно задать любой символ, чтобы использовать его для отделения целой части числа от дробной.
NumberDigits	Определяет количество десятичных разрядов для дробной части числа.
NumberLeadingZeros	Определяет, будет ли отображаться нуль перед дробной частью числа больше –1 и меньше 1. Эта величина может принимать значение False (нуль не выводится) или True.
CurrencySymbol	Определяет символ для денежной единицы, который будет использоваться в текстовом файле. Например, включает знак рубля (руб) или немецкой марки Dm.
CurrencyPosFormat	Могут быть заданы следующие значения: • символ денежной единицы находится перед числом (руб1); • символ денежной единицы находится после числа (1руб); • символ денежной единицы находится перед числом. Между денежным символом и числом находится символ-разделитель (руб 1); • символ денежной единицы находится после числа. Между числом и денежным символом находится символ-разделитель (1 руб).
CurrencyDigits	Определяет количество разрядов для дробной части в денежных суммах.
CurrencyNegFormat	Может принимать одно из следующих значений: • (руб1) • –руб1 • руб–1 • руб1– • (1руб) • –1руб • 1–руб • 1руб– • –1 руб • –руб 1 • 1 руб– • руб 1– • руб –1 • 1– руб • (руб 1)  • (1 руб) В этом примере используется знак доллара, но его можно заменить с помощью соответствующего значения параметра CurrencySymbol.
CurrencyThousandSymbol	Определяет однобуквенный символ, использующийся для отделения тысяч, при обозначении денежной величины в текстовом файле.
CurrencyDecimalSymbol	Определяет любой символ, который используется для денежных сумм с целью отделения целой части от дробной.
Примечание  В отсутствии этой записи по умолчанию используется значения, заданные в панели управления операционной системы Windows.


Формат текстового файла (дополнительные возможности)

См.также

Текстовый драйвер ODBC поддерживает как текстовые файлы с полями фиксированной длины, так и текстовые файлы с разделителями. Текстовые файлы состоят из необязательной строки заголовка и нулевого или большего количества строк текста.

Несмотря на то, что строка заголовка имеет тот же формат, что и другие строки текстового файла, текстовый драйвер ODBC интерпретирует строки заголовка в качестве имен столбцов, а не данных.

Строка текста с разделителем состоит из данных отделенных друг от друга разделителем: запятой, символом табуляции или каким-либо другим заданным разделителем. В одном файле можно использовать только один разделитель. Нулевые значения в строке данных обозначаются с помощью двух разделителей без данных между ними. Строки символов в тексте с разделителями заключаются в двойные кавычки (""). Перед и после величин, отделенных друг от друга с помощью разделителя, не должно быть пробелов.

Ширина каждой записи данных для текстовых строк фиксированной длины определяется в схеме. Нулевые значения обозначаются пустыми местами.

Таблицы ограничены 255 полями. Имена полей ограничены 64 символами, а ширина поля ограничена 32766 символами. Размер записей ограничен 65000 байтами.

Текстовый файл может быть открыт только для одного пользователя. Многопользовательская поддержка в этом случае не предусмотрена.

Ниже приведена грамматика (для программистов) с помощью которой можно задать формат текстового файла который можно прочитать с помощью текстового драйвера ODBC. Обычным, не курсивным шрифтом выделены элементы ввода. Курсивом выделены аргументы, определяемые повсеместно в пределах грамматики. В прямых скобках ([]) содержатся необязательные элементы, в фигурных скобках ({}) содержатся элементы, из которых надо произвести взаимоисключающий выбор, символ (|) используется для разделения элементов, из которых производится выбор и многоточие (...) используется для представления элементов, выполнение которых надо повторить один или большее число раз.

Формат текстового файла представляет собой:

текстовый-файл ::=
[строка-заголовка-с-разделителем] [строка-текста-с-разделителем]... конец-строки |
[строка-заголовка-фиксированной-ширины] [строка текста фиксированной ширины]... признак конца файла

строка-заголовка-с-разделителем ::= строка-текста-с-разделителем

строка-текста-с-разделителем ::=
пустая-строка |
данные-с-разделителем [разделитель данные-с-разделителем]... конец-строки

строка-заголовка-фиксированной-ширины ::= строка текста фиксированной ширины

строка текста фиксированной ширины ::=
пустая-строка |
данные-фиксированной-ширины [данные-фиксированной-ширины]... конец-строки

признак-конца-файла ::= <EOF>

пустая-строка ::= конец-строки

данные-с-разделителем ::= строка-символов-с-разделителем | число | дата | нулевая-строка-с-разделителем

данные-фиксированной-ширины ::= строка-символов-фиксированной-ширины | число | дата | нулевая-строка-фиксированной-ширины
Примечание Ширина каждого столбца в текстовом файле фиксированной ширины задается в файле Schema.ini.

конец-строки ::= <CR> | <LF> | <CR><LF>

строка-символов-с-разделителем ::= строка-не взятая-в-кавычки | строка-в-кавычках

строка-не взятая-в-кавычки ::= [символ | цифра] [символ | цифра | кавычки]...

строка-в-кавычках ::=
кавычки
[символ | цифра | разделитель | конец-строки | встроенная-строка-в-кавычках]...
кавычки

встроенная-строка-в-кавычках ::=
кавычки кавычки
[символ | цифра| разделитель | конец-строки]
кавычки кавычки

строка-символов-фиксированной-ширины ::= [символ | цифра | разделитель | кавычки ] ...

символ ::=  любой символ, исключая:
разделитель
цифру
признак-конца-файла
конец-строки
кавычки

цифра ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

разделитель ::= , | <TAB> | выбранный-разделитель

выбранный-разделитель ::= любой символ, кроме:
признак-конца-файла
конец-строки
кавычки
Примечание Разделитель для текстового файла с выбранным разделителем задается в файле Schema.ini.

кавычки ::= "

число ::= точное-число | приближенное-число

точное-число ::= [+ | -] {целое-без-знака [.целое-без-знака] |
целое-без-знака. |
.целое-без-знака}

приближенное-число ::= точное-число{e | E}[+ | -]целое-без-знака

целое-без-знака ::= {цифра}...

дата ::=
мм разделитель-дат дд разделитель-дат гг |
ммм разделитель-дат дд разделитель-дат гг |
дд разделитель-дат ммм разделитель-дат гг |
гггг разделитель-дат мм разделитель-дат дд |
гггг разделитель-дат ммм разделитель-дат дд

мм ::= цифра [цифра]

дд ::= цифра [цифра]

гг ::= цифра цифра

гггг ::= цифра цифра цифра цифра

ммм ::= Янв | Фев | Мар | Апр | Май | Июн | Июл | Авг | Сен | Окт | Нбр | Дек

разделитель-дат ::= - | / | .

нулевая-строка-с-разделителем ::=
Примечание Для файлов с разделителями значение NULL — это отсутствие данных между двумя разделителями.

нулевая-строка-фиксированной-ширины ::= <Пробел>...
Примечание Для файлов с фиксированной шириной значение NULL соответствует пробелам.


Выбор идентификатора, однозначно определяющего запись

Выберите столбец или столбцы, по которым можно однозначно идентифицировать запись для таблицы.


Источник данных

В случае использования драйвера Microsoft Access, источник данных определяет нужную вам базу данных Microsoft Access (файл с расширением .mdb) и информацию, необходимую для доступа к этой базе данных.

В случае использования драйверов для баз данных dBASE, Microsoft Excel 3.0/4.0, Paradox, или текстового драйвера, источник данных, наряду с другой информацией, определяет заданный по умолчанию каталог, в котором драйвер ODBC выполняет поиск необходимых вам файлов данных.

В случае использования драйверов для электронных таблиц Microsoft Excel 5.0, 7.0, или 97, источник данных, наряду с другой информацией, определяет заданную по умолчанию книгу, в которой драйвер ODBC выполняет поиск необходимых вам файлов данных.


Вход с помощью пароля

См.также

Во время подключения к источнику данных следует ввести пароль. Это можно сделать как в строке для пароля при подключении (для драйвера базы данных Microsoft Access надо задать имя пользователя и пароль, а для драйвера Paradox — пароль) так и с помощью аргумента szAuthStr функции SQLConnect.

В случае драйвера Microsoft Access, если источник данных использует системную базу данных, приложение может предложить ввести ваше имя и пароль. Именем по умолчанию является слово Admin, а в качестве пароля по умолчанию для базы данных Microsoft Access, соответствующего имени Admin, является пустая строка.

В случае драйвера базы данных Paradox, следует использовать только тот пароль, который был введен в строке подключения. Этот пароль является действующим, всякий раз, когда таблица будет открыта. Если же в строке подключения не был введен пароль, для таблицы не будет установлено никакого пароля. Если таблицы имеют разные пароли, их нельзя открыть в одном и том же сеансе, а также объединить друг с другом.


Неоднородные объединения/Присоединенные таблицы

Для драйвера Microsoft Access реализована поддержка присоединенных таблиц и неоднородных объединений.

Не поддерживается возможность создания связей к присоединенным таблицам. Драйвер Microsoft Access не следует использовать для присоединения таблицы к другой таблице внутри системы управления базами данных Microsoft Access. Данную таблицу следует присоединить непосредственно.

Не поддерживается использование драйверов ODBC баз данных для настольного компьютера из кода DAO (Data Access Objects — Объекты доступа к данным).


Открытие таблиц Microsoft Excel

Драйвер Microsoft Excel не может прочесть файлы приложения Microsoft Excel версий, более ранних, чем версия 3.0. Для того, чтобы этот драйвер смог прочесть данные эти файлы можно открыть в более поздних выпусках Microsoft Excel, а затем сохранить в формате версий 3.0, 4.0, 5.0, 7.0, или 97.

Если версия источника данных, с помощью которого осуществлено подключение — Excel, что означает Microsoft Excel 3.0 или 4.0, создаются таблицы формата BIFF3. Если же версиями источника данных являются Excel 5.0, Excel 7.0, или Excel 97, листы создаются в книгах, к которым они подключены.

Форматы файлов Microsoft Excel 3.0 и Microsoft Excel 4.0 должны иметь заданную область базы данных. Драйвер Microsoft Excel распознает именованные области как таблицы. Базы данных заданные с помощью именованных областей будут увеличиваться по мере добавления новых данных. Если же в листе новые данные будут перезаписываться на место существующих данных (вне именованной области, которая представляет данные), появится сообщение об ошибке.

Все таблицы Microsoft Excel, которые создаются или открываются для вставки данных, открываются по умолчанию для монопольного доступа и могут быть открыты в одно и то же время только одним пользователем. Пользователь должен сам разрешить открывать таблицы Microsoft Excel в качестве общего ресурса. Параметр «Только чтение» позволяет нескольким пользователям одновременно просматривать файлы с расширением .xls.


Файлы, защищенные паролем

В случае использования драйвера базы данных Paradox, открытый пользователем защищенный паролем файл данных, не будет доступен другим пользователям.


Сбой после повторных подключений

Если приложение, использующее ODBC и работающее в операционной системе Microsoft Windows 95/98 многократно подключается к серверу и отключается от него (50 - 60 раз), может возникнуть сбой при подключении и драйвер возвращает сообщение об ошибке «Сбой при доступе к службе выражений» и SQLSTATE 01000 (Общее предупреждение). Этот сбой можно устранить, если заменить файл Rpcrt4.dll, который находится в каталоге \Windows\System на такой же файл выпуска QFE 324. Более подробную информацию можно получить в службе технической поддержки Microsoft Technical Support.


Целостность данных

Целостность данных поддерживается только для источника данных Microsoft Access, и только, если для источника данных целостность данных была установлена в системе управления базами данных Microsoft Access.


Данные электронных таблиц Lotus 1-2-3/данные EMS

Драйверы ODBC баз данных для настольных компьютеров (Desktop Database) не поддерживают работу с данными электронных таблиц Lotus 1-2-3 и данными EMS.


Поддержка языка Visual Basic

В языке Visual Basic можно для подключения с помощью драйверов ODBC баз данных к источнику данных ODBC воспользоваться свойствами Connect и Attributes объекта TableDef. Более подробные сведения можно получить из руководства по языку Visual Basic.


Строки подключения (дополнительные возможности)

См.также

В строках подключения для драйверов ODBC используются следующие ключевые слова:

Ключевое слово	Описание
DSN	Имя источника данных
DBQ	Имя каталога
DRIVERID	Целое число, идентификационный номер драйвера (ID)
FIL	Тип файла  (MS Access для Microsoft Access; dBase III, dBase IV, или dBase5; Excel 3.0, Excel 4.0, Excel 5.0, Excel 7.0, или Excel 97 для Microsoft Excel; Paradox 3.x, 4.x, или 5.x; или текстовый) Это ключевое слово поддерживается только для обеспечения совместимости с предыдущими версиями.
Ключевые слова, используемые для конкретных драйверов

В дополнении к ключевым словам из предыдущей таблицы для драйвера Microsoft Access существуют ключевые слова UID (Имя пользователя) и PWD (Пароль), а для драйвера базы данных Paradox — ключевое слово PWD (Пароль).

Ключевое слово	Описание
UID	Имя пользователя для входа в систему (только для драйвера Microsoft Access). Первоначально устанавливается как Admin. Более подробные сведения о свойствах имени пользователя Admin можно получить из раздела «Creating a New Admin User» (Создание нового пользователя с именем Admin) главы 10 «Managing Security» (Управление защитой) руководства по ядру базы данных Microsoft Jet.
PWD	Заданный пользователем пароль.
В строках подключения, кроме описанных выше ключевых слов, используются и другие ключевые слова. Подробнее см. SQLConfigDataSource. В строках подключения для драйвера Microsoft Access-не поддерживаются ключевые слова, использующиеся для сжатия базы данных (COMPACT_DB) и создание базы данных (CREATE_DB).

В случае использования драйверов баз данных Microsoft Access или Paradox в ключевом слове PWD (Пароль) не должны содержаться специальные символы (см. ссылку SQL_SPECIAL_CHARACTERS в SQLGetInfo Returned Values).

Строки подключения также используются при присоединении базы данных Microsoft Access в программе с помощью функции SQLConfigDriver. Включите строку JET_ATTACH <источник db> <строка подключения> в список аргументов (lpszArgs) функции SQLConfigDriver. В этой функции выражение <источник db> представляет собой полный путь к присоединяемой базе данных Microsoft Access, а выражение <строка подключения> составлено в соответствии с соглашениями из этого раздела.

Примечание  Строка подключения, которая используется для подключения к любой базе данных, использующей ядро Jet 4.0 или ядро базы более поздних версий должна использовать единый идентификатор национальных настроек (LCID), а не два отдельных (для кодовой страницы и языка).


Выбор базы данных (дополнительные возможности)

В случае использования драйвера Microsoft Access для выбора существующей базы данных можно в диалоговом окне Установка драйвера ODBC Microsoft Access использовать кнопку Выбрать.

Диалоговое окно Выбор базы данных содержит следующие поля:

Элемент управления	Описание
Поле «Имя базы данных	Имя файла (с расширением .mdb) существующей базы данных.
Флажок «Монополь- ный доступ»	При установке флажка Монопольный доступ база данных откроется в режиме монопольного доступа и в одно и то же время с ней может работать только один пользователь. Если флажок Монопольный доступ снят, база данных открывается в режиме общего доступа, и одновременно к ней могут получить доступ более одного пользователя. При работе в режиме монопольного доступа быстродействие повышается.
Флажок «Только чтение»	Объявляет базу данных доступной только для чтения.


Создание базы данных (дополнительные возможности)

В случае использования драйвера Microsoft Access для создания новой базы данных можно в диалоговом окне Установка драйвера ODBC Microsoft Access использовать кнопку Создать.

Примечание  База данных созданная с помощью кнопки Создать, может работать только с приложением Microsoft Access версии 7.0 или более поздней.

Диалоговое окно Создание базы данных содержит следующие поля:

Элемент управления	Описание
Поле «Имя базы данных	Имя файла (с расширением .mdb) существующей базы данных.
Поле «Формат»	Формат ядра базы данных Microsoft Jet. Может быть: для версии 4.x (наиболее часто используется, Unicode), для версии 3.x (ANSI), или для версии 2.x (ANSI).
Элемент «Националь- ные настройки»	С помощью этого параметра для базы данных устанавливаются национальные настройки (LCID). Изменяет порядок сортировки, однако большая часть порядков, применяется по умолчанию применяется. Этот параметр может принимать значения: Общие (английский, французский, немецкий, португальский, итальянский), традиционный испанский, голландский, шведский/финский, норвежский/датский, исландский, чешский, венгерский, польский, русский, турецкий, арабский, еврейский, греческий, японский, корейский, китайский (Тайвань) или китайский (КНР).
Параметры	Системная база данных: создает системную базу данных. Шифрование: ядро базы данных Microsoft Jet версии 4.0 поддерживает возможность шифрования паролей.
Создание базы данных с помощью функции SQLConfigDriver

Для создания базы данных программным образом с помощью функции SQLConfigDriver включите строку CREATE_DB=<путь><необязательный_порядок_сортировки><необязательное_ENCRYPT ключевое слово> в список аргументов (lpszArgs) функции SQLConfigDriver. Для этой функции, <путь> представляет собой полный путь к базе данных Microsoft Access предназначенной для сжатия, а необязательное ключевое слово ENCRYPT позволяет установить для базы данных Microsoft Access дополнительную защиту.


Восстановление базы данных (дополнительные возможности)

При использовании драйвера Microsoft Access, если в ходе занесения данных произошел сбой в работе программы-клиента (после выполнения функции SQLTransact, но перед тем, как произошел возврат от функции), база данных может оказаться поврежденной и ее необходимо восстановить. Восстановление базы данных можно выполнить либо в процессе установки в диалоговом окне установки драйвера для базы данных Microsoft Access, либо программным образом, с помощью функции SQLConfigDataSource. Начиная с версии 4.0 ядра базы данных Microsoft Jet, возможности восстановления включены в процедуру сжатия. Для совместимости с предыдущими версиями команда восстановления базы данных переназначена на команду сжатия базы данных.

Использование диалогового окна установки драйвера Microsoft Access

Чтобы восстановить базу данных с помощью диалогового окна установки драйвера Microsoft Access, нажмите кнопку Восстановить, выберите нужный вам файл и путь, а затем нажмите кнопку OK.

Использование функции SQLConfigDataSource

Для создания базы данных программным образом с помощью функции SQLConfigDataSource включите строку REPAIR_DB=<путь> в список атрибутов (lpszAttributes) этой функции. В этой функции выражение <путь> является полным путем к базе данных Microsoft Access.

В случае восстановления файла, защищенного паролем, следует ввести пароль и имя пользователя либо в диалоговое окно дополнительных возможностей, либо, в случае восстановления базы программным образом, в список атрибутов функции SQLConfigDataSource. Пароль и имя пользователя после восстановления базы данных следует удалить.

Использование функции SQLConfigDriver

Чтобы выполнить операцию восстановления программным образом с помощью функции SQLConfigDriver, включите в список ее аргументов (lpszArgs) строку REPAIR_DB=<путь>. В этой функции выражение <путь> представляет собой полный путь к базе данных Microsoft Access, которую надо восстановить.

Эти действия запускают стандартный процесс Microsoft Access восстановления базы данных. Данные в базах данных Microsoft Access можно подвергнуть любому из этих действий.

Однако, база данных, которая отображается как поврежденная, на самом деле, может оказаться неповрежденной. Такая диагностика может возникнуть в результате неправильного выполнения процесса завершения работы, в результате чего не обнуляются соответствующие биты. В этом, а также других случаях, программист, возможно, пожелает сохранить сообщение о повреждении прозрачным для конечного пользователя. Это можно сделать с помощью параметра SQL_DRIVER_NOPROMPT функции SQLDriverConnect.

Более подробные сведения о восстановлении базы данных в приложении Microsoft Access содержатся файле справки Microsoft Access.


Сжатие базы данных (дополнительные возможности)

В случае использования драйвера базы данных Microsoft Access, сжатие данных, содержащихся в файле базы данных можно выполнить одним из трех способов: в ходе установки в диалоговом окне установки драйвера Microsoft Access, или программным образом с помощью функций SQLConfigDataSource или SQLConfigDriver. Базы данных Microsoft Access следует регулярно сжимать.

Использование диалогового окна установки драйвера Microsoft Access

Чтобы сжать базу данных с помощью диалогового окна установки драйвера Microsoft Access, нажмите кнопку Сжать, в диалоговм окне База данных для сжатия выберите нужный вам файл и путь, а затем нажмите кнопку OK. В диалоговм окне Сжатие базы данных под именем, выберите нужный вам файл и путь, выберите версию сжатого файла и порядок сортировки (который может измениться для базы данных назначения), а затем нажмите кнопку OK. Имя файла, в который будет произведено сжатие, может совпадать с именем файла, который будет сжиматься. В случае совпадения имени файла, в который будет произведено сжатие с именем существующего файла, появится сообщение об ошибке.

Использование функции SQLConfigDataSource

Для создания базы данных программным образом с помощью функции SQLConfigDataSource включите строку COMPACT_DB=<путь><необязательный_порядок_сортировки><необязательное ENCRYPT ключевое слово> в список атрибутов (lpszAttributes) функции SQLConfigDataSource. В этой функции выражение <путь> является полным путем к базе данных Microsoft Access, которая будет сжата.

В случае сжатия файла, защищенного паролем, следует ввести пароль и имя пользователя либо в диалоговое окно дополнительных возможностей, либо, в случае восстановления базы программным образом, в список атрибутов функции SQLConfigDataSource. Пароль и имя пользователя после сжатия базы данных следует удалить. Сжатие файла, защищенного паролем, может привести к непредсказуемым результатам.

Использование функции SQLConfigDriver

Чтобы выполнить операцию сжатия программным образом с помощью функции SQLConfigDriver, включите в список ее аргументов (lpszArgs) строку COMPACT_DB=<путь><необязательный_порядок_сортировки><необязательное ENCRYPT ключевое слово> в список аргументов (lpszArgs) функции SQLConfigDriver. В этой функции выражение <путь> представляет собой полный путь к базе данных Microsoft Access, которую надо сжать.

Эти действия запускают стандартный процесс Microsoft Access сжатия базы данных.

Более подробные сведения о сжатии базы данных в приложении Microsoft Access содержатся файле справки Microsoft Access.