Инициализация драйвера источника текстовых данных

Область применения: Access 2013, Office 2013

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

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

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

Папка Access Connectivity Engine\ISAM Formats\Text содержит параметры инициализации для драйвера Acetxt.dll, используемого для внешнего доступа к текстовым файлам данных. Типичные параметры для записей в этой папке показаны в следующем примере.

    win32=<path>\ ACETXT.DLL 
    
    MaxScanRows=25 
    
    FirstRowHasNames=True 
    
    CharacterSet= ANSI 
    
    Format=CSVDelimited 
    
    Extensions= txt,csv,tab,asc 
    
    ExportCurrencySymbols=Yes

Ядро СУБД Microsoft Access использует записи папки Text следующим образом.

Запись

Описание

win32

Расположение Acetxt.dll. Полный путь определяется во время установки. Значения имеют тип REG_SZ.

MaxScanRows

Количество строк, проверяемых при угадывание типов столбцов. Если задано значение 0, будет выполнен поиск по всему файлу. Значение по умолчанию — 25. Значения имеют тип REG_DWORD.

FirstRowHasNames

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

CharacterSet

Индикатор того, как хранятся текстовые страницы. Возможные параметры:

  • ANSI — кодовая страница ANSI компьютера. Выполнено преобразование AnsiToUnicode и UnicodeToAnsi.

  • OEM — кодовая страница oem компьютера. Выполнено преобразование OemToUnicode и UnicodeToOem.

  • Юникод — преобразование кодовой страницы не выполняется.

  • <decimal number> — номер кодовой страницы определенного набора символов. Преобразования в Юникод и из нее будут выполнены.

Значение по умолчанию — ANSI. Значения имеют тип REG_SZ.

Формат

Может быть любым из следующих значений: TabDelimited, CSVDelimited, с разделителями (<один символ>). Разделитель из одного символа в формате с разделителями может быть любым одним символом, кроме двойной кавычки ("). Значение по умолчанию — CSVDelimited. Значения имеют тип REG_SZ.

Расширения

Расширение всех файлов для просмотра при поиске текстовых данных. По умолчанию используется txt, csv, tab, asc. Значения имеют тип REG_SZ.

ExportCurrencySymbols

Двоичное значение, указывающее, включается ли соответствующий символ валюты при экспорте валютных полей. Значение 01 указывает, что символ включен. Значение 00 указывает, что экспортируются только числовые данные. Значение по умолчанию — 01. Значения имеют тип REG_BINARY.

Форматы ISAM источника текстовых данных

Папка Access Connectivity Engine\ISAM Formats\Text содержит следующие записи.

Имя записи

Тип

Значение

Двигателя

REG_SZ

Текст

ExportFilter

REG_SZ

Текстовые файлы (*.txt; *.csv; *.tab; *.asc)

ImportFilter

REG_SZ

Текстовые файлы (*.txt; *.csv; *.tab; *.asc)

CanLink

REG_BINARY

01

OneTablePerFile

REG_BINARY

01

IsamType

REG_DWORD

2

IndexDialog

REG_BINARY

00

CreateDBOnExport

REG_BINARY

00

ResultTextImport

REG_SZ

Импорт данных из внешнего файла в текущую базу данных. Изменение данных в текущей базе данных не приведет к изменению данных во внешнем файле.

ResultTextLink

REG_SZ

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

ResultTextExport

REG_SZ

Экспорт данных из текущей базы данных в текстовый файл. Этот процесс перезапишет данные при экспорте в существующий файл.

SupportsLongNames

REG_BINARY

01

Примечание.

При изменении параметров реестра Windows необходимо выйти, а затем перезапустить ядро СУБД, чтобы новые параметры вступили в силу.

Форматы ISAM для импорта HTML

В папке Access Connectivity Engine\ISAM Formats\HTML Import содержатся следующие записи.

Имя записи

Тип

Значение

Двигателя

REG_SZ

Текст

ImportFilter

REG_SZ

HTML-файлы (*.ht*)

CanLink

REG_BINARY

01

OneTablePerFile

REG_BINARY

00

IsamType

REG_DWORD

2

IndexDialog

REG_BINARY

00

CreateDBOnExport

REG_BINARY

00

ResultTextImport

REG_SZ

Импорт данных из внешнего файла в текущую базу данных. Изменение данных в текущей базе данных не приведет к изменению данных во внешнем файле.

ResultTextLink

REG_SZ

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

SupportsLongNames

REG_BINARY

01

Примечание.

При изменении параметров реестра Windows необходимо выйти, а затем перезапустить ядро СУБД, чтобы новые параметры вступили в силу.

Форматы ISAM для экспорта HTML

В папке Access Connectivity Engine\ISAM Formats\HTML Export содержатся следующие записи.

Имя записи

Тип

Значение

Двигателя

REG_SZ

Текст

ExportFilter

REG_SZ

HTML-файлы (*.htm)

CanLink

REG_BINARY

00

OneTablePerFile

REG_BINARY

01

IsamType

REG_DWORD

2

IndexDialog

REG_BINARY

00

CreateDBOnExport

REG_BINARY

00

ResultTextExport

REG_SZ

Экспорт данных из текущей базы данных в текстовый файл. Этот процесс перезапишет данные при экспорте в существующий файл.

SupportsLongNames

REG_BINARY

01

Примечание.

При изменении параметров реестра Windows необходимо выйти, а затем перезапустить ядро СУБД, чтобы новые параметры вступили в силу.

Настройка файла Schema.ini для текстовых и HTML-данных

Для чтения, импорта или экспорта текстовых и HTML-данных необходимо создать файл Schema.ini в дополнение к включению в файл .ini сведений о текстовом ISAM. Schema.ini содержит особенности источника данных: форматирование текстового файла, его чтение во время импорта и формат экспорта файлов по умолчанию. В следующих примерах показан макет для файла фиксированной ширины, Filename.txt:

    [Filename.txt] 
    
    ColNameHeader=False 
    
    Format=FixedLength 
    
    FixedFormat= RaggedEdge 
    
    MaxScanRows=25 
    
    CharacterSet=OEM 
    
    Col1=columnname Char Width 24 
    
    Col2=columnname2 Date Width 9 
    
    Col3=columnname7 Float Width 10 
    
    Col4=columnname8 Integer Width 10 
    Col5=columnname9 LongChar Width 10

Аналогичным образом формат файла с разделителями указывается следующим образом:

    [Delimit.txt] 
    
    ColNameHeader=True 
    
    Format=Delimited() 
    
    MaxScanRows=0 
    
    CharacterSet=OEM 
    
    Col1=username char width 50 
    
    Col2=dateofbirth Date width 9

При экспорте данных в текстовый файл с разделителями также укажите формат для этого файла:

    [Export: My Special Export] 
    
    ColNameHeader=True 
    
    Format=TabDelimited 
    
    MaxScanRows=25 
    
    CharacterSet=OEM 
    
    DateTimeFormat=mm.dd.yy.hh.mm.ss 
    
    CurrencySymbol=Dm 
    
    CurrencyPosFormat=0 
    
    CurrencyDigits=2 
    
    CurrencyNegFormat=0 
    
    CurrencyThousandSymbol=, 
    
    CurrencyDecimalSymbol=. 
    
    DecimalSymbol=, 
    
    NumberDigits=2 
    
    NumberLeadingZeros=0 
    
    TextDelimeter="

Пример "Мой специальный экспорт" относится к определенному параметру экспорта; Во время подключения можно указать любой вариант параметров экспорта. Этот последний пример также соответствует имени источника данных (DSN), которое при необходимости можно передать во время подключения. Все три раздела формата можно включить в один .ini файл.

Ядро СУБД Microsoft Access использует Schema.ini записи следующим образом.

Запись

Описание

ColNameHeader

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

Формат

Можно задать одно из следующих значений: TabDelimited, CSVDelimited, Разделено (<один символ>) или FixedLength. Разделитель, указанный для формата файла с разделителями, может быть любым одним символом, кроме двойной кавычки (").

Фиксированный формат

Используется только в том случае, если параметр Format имеет значение FixedLength, для этого параметра можно задать одно из следующих значений: RaggedEdge или TrueFixedLength. RaggedEdge позволяет завершать строки символом возврата каретки. TrueFixedLength требует, чтобы каждая строка была точной, а все символы возврата каретки, не на границе строки, должны быть внедрены в поле. Если этот параметр отсутствует, значение по умолчанию — RaggedEdge.

MaxScanRows

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

CharacterSet

Может быть задано значение OEM, ANSI, ЮНИКОД или десятичное число допустимой кодовой страницы и указывает набор символов исходного файла.

Datetimeformat

Можно задать строку формата, указывающую даты и время. Эта запись должна быть указана, если все поля даты и времени в импорте и экспорте обрабатываются в одном формате. Поддерживаются все форматы ядра СУБД Microsoft Jet, кроме AM и PM. При отсутствии строки формата в Windows панель управления используются параметры короткого рисунка даты и времени.

CurrencySymbol

Указывает символ валюты, который будет использоваться для денежных значений в текстовом файле. Примеры включают знак доллара ($) и Dm. Если эта запись отсутствует, используется значение по умолчанию в панель управления Windows.

CurrencyPosFormat

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

CurrencyDigits

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

CurrencyNegFormat

Может быть одно из следующих значений: ($1) –$1$–1$1–(1$) –1$1–$1$–1$–$1 $–$1–$1–$1–$($1) ($1) ($1)). Знак доллара показан в целях этого примера, но его следует заменить соответствующим значением CurrencySymbol в фактической программе. Если эта запись отсутствует, используется значение по умолчанию в панель управления Windows.

CurrencyThousandSymbol

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

CurrencyDecimalSymbol

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

DecimalSymbol

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

NumberDigits

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

NumberLeadingZeros

Указывает, должно ли десятичное значение меньше 1 и больше –1 содержать начальные нули; это значение может иметь значение False (без начальных нулей) или True.

Col1, Col2, ...

Списки столбцы в текстовом файле для чтения. Формат этой записи должен иметь следующий формат: Coln=columnName type [Width #] columnName: имена столбцов с внедренными пробелами должны быть заключены в кавычки. type: может быть бит, байт, короткий, длинный, десятичный, денежный, одиночный, двойной, datetime. Binary, OLE, Text или Memo. Кроме того, поддерживаются следующие типы драйвера текста ODBC: Char (то же, что и Text) Float (то же, что и Double) Integer (то же, что и Short) LongChar (то же, что и Memo) Формат даты . В случае типа memo можно использовать дополнительный маркер формата [Гиперссылка атрибута] для указания столбцов, которые должны быть активными URL-адресами в Microsoft Access. В случае типа Decimal следует использовать дополнительные маркеры формата [Scale #] Precision #].

TextDelimiter

Можно задать для любого одного символа, который используется для разделения строк, содержащих любые другие специальные символы. Например, "abc", "xyz,pqr", "hij", если эта запись отсутствует, разделитель по умолчанию является двойной кавычки. Если эта запись является строкой none, никакие символы не будут рассматриваться как разделители.

Примечание.

При изменении параметров файла Schema.ini необходимо выйти из системы, а затем перезапустить ядро СУБД, чтобы новые параметры вступили в силу.