Microsoft text driver как установить

Обновлено: 04.07.2024

Хотя ODBC – это программный интерфейс для баз данных, использование ODBC и предустановленного Microsoft Text ODBC driver открывает интересные возможности для обработки текстовых файлов (таких как txt и csv), благодаря тому, что SQL запросы типа SELECT могут быть применены к содержимому txt и csv файлов, как если бы это были таблицы базы данных!

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

Ограничения

Строка с разделителями может содержать одно или несколько значений, с разделителями между ними: запятая, tab или другой символ. Выбранный разделитель используется во всём файле.
Таблицы могут включать максимум 255 столбцов. Названия полей ограничиваются 64 символами, ширина поля ограничена 32 766 символами. Размер записи ограничен 65,000 байтами.

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

Для txt и csv файлов драйвер не поддерживает кодировки Unicode, такие как UTF-8 или UCS2, можно задавать или ANSI, или OEM.

Строка подключения Microsoft Text Driver

Параметр DBQ

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

Для подключения к текущему каталогу достаточно указать просто точку (.) вместо пути:

Строка запуска программы nhdbt:

Подключение к текущему каталогу и выполнение одного SQL запроса:

Подключение к текущему каталогу и выполнение SQL запросов из файла test.sql :

Примеры

Ниже приведены примеры выполнения SQL запросов применительно к csv файлу с Tab-разделителями:

Используется Schema.ini (необязательно прописывать все столбцы):

Программа nhdbt используется для тестирования. Все файлы можно скачать по ссылке внизу страницы.

Определить количество строк

SELECT COUNT возвращает число строк в файле-таблице.

Как определить число всех строк в файле:

Как определить число строк, сгруппированное по коду (поле Code):

Определение суммарных значений значение

Как определить минимальное и максимально значение поля по всему файлу:

Функции AVG и SUM тоже поддерживаются (для Integer).

Считать неповторяющиеся значения

Как получить только различные значения IP адресов с сортировкой:

Поиск по текстовым значениям

Как выделить пользователей Windows:

Как выделить использующих Opera:

Узнать больше

nhdbt – бесплатная программа Windows, выполняющая SQL запросы из командной строки.

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

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

В диалоговом окне Определение формата текста доступны следующие параметры.

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

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

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

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

Таблицы ограничены максимум 255 полями. Имена полей ограничены 64 символами, а ширина полей ограничена 32 766 символами. Записи ограничены 65 000 байтами.

Текстовый файл может быть открыт только для одного пользователя. Несколько пользователей не поддерживаются.

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

Формат Представление
Не курсив Символы, которые должны быть указаны, как показано
курсив Аргументы, определенные в других местах грамматики
квадратные скобки ([]) Необязательные элементы
фигурные скобки ( <> ) Список взаимоисключающих вариантов
вертикальные полосы (|) Отдельные взаимоисключающие варианты
многоточия (. ) Элементы, которые могут повторяться один или несколько раз

Формат текстового файла:

Ширина каждого столбца в текстовом файле с фиксированной шириной указана в файле Schema.ini.

Разделитель в текстовом файле с разделителями-заданными указывается в файле Schema.ini.

Для файлов с разделителями значение NULL представляется отсутствием данных между двумя разделителями.

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

Что такое источник данных и где его найти для того, чтобы настроить?

  1. В программе выбрать в дереве раздел Источник данных, в появившемся окне свойств нажать кнопку Менеджер.
  2. Нажать в системе Windows кнопку Пуск(Start)->Настройки(Settings)->Панель управления(Control panel). Найти и запустить значок Источники данных ODBC.

Настройка источника данных для доступа к базе данных Access (*.mdb).

Настройка источника данных для доступа к базе данных Visual FoxPro, FoxPro, (*.dbf, *.dbc).

Настройка источника данных для доступа к документу Excel (*.xls).

Настройка источника данных для доступа к текстовым файлам (*.txt, *csv)

Как проверить работоспособность источника данных?

  1. Разверните раздел Источник данных в программе выберите любой запрос или создайте новый.
  2. Введите в тексте запроса команду select * from, далее после слова from введите имя таблицы:
    • для базы данных Access - это имя любой таблицы внутри базы данных;
    • для документа Excel - это имя диапазона ячеек;
    • для файла FoxPro - это имя файла;
    • для текстовых файлов - это имя файла;
    например, select * from Ring.
  3. Нажмите на вкладку Результаты.
  4. Если источник данных настроен правильно в разделе результаты появятся записи из соответствующего источника данных.
  5. После этого нужно нажать кнопку Сохранить, чтобы сохранить введенный SQL запрос и настройки программы.

Проект Автопрозвонка в 2014 году трансформировался
в новый проект Call Office - универсальный инструмент
автоматизации телефонного обслуживания для бизнеса.

Файлы для загрузки

Все файлы, включая log файл, Schema.ini, SQL запросы, test.cmd и nhdbt.exe доступны для загрузки с Google Drive:
processing-text-files-with-microsoft-text-driver.zip

Файл Schema.ini для Microsoft Text Driver

Файл Schema.ini file необходим, чтобы драйвер правильно интерпретировал содержимое текстовых файлов.

When the Text driver is used, the format of the text file is determined by using a schema information file. The schema information file is always named Schema.ini and always kept in the same directory as the text data source. The schema information file provides the IISAM with information about the general format of the file, the column name and data type information, and several other data characteristics. A Schema.ini file is always required for accessing fixed-length data. You should use a Schema.ini file when your text table contains DateTime, Currency, or Decimal data, or any time that you want more control over the handling of the data in the table.

Пример Schema.ini для apache_access.csv :

Как только файл Schema.ini сохранён в папке, Microsoft Text драйвер может работать с файлами.

Формат полей даты и времени DateTime

Формат для даты и времени не описан в официальной документации Schema.ini File (Text File Driver), поэтому всегда вызывает вопросы.

По умолчанию, используется пользовательский короткий формат.

Например, для English US это dd/MM/yyyy HH:mm, также принимается dd/MM/yyyy HH:mm:ss. Поэтому обработка дат следующего лог файла будет работать только с региональными настройками English US:

При других настройках, например, европейских или российских, считывание даты не произойдёт из-за несовпадения формата.

Формат даты и времени изменяется параметром DateTimeFormat. Заданный формат применяется ко всем полям даты и времени в эотм файле:

Обратите внимание, обозначение формата не совпадает с форматом, принятым в Windows:

  • nn используется вместо mm для обозначения минут
  • AM/PM не поддерживается, время всегда в 24-часовом формате
  • регистр не имеет значения

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

Читайте также: