Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При использовании драйвера текста формат текстового файла определяется с помощью файла сведений о схеме. Файл сведений схемы всегда называется Schema.ini и всегда хранится в том же каталоге, что и источник текстовых данных. Файл сведений о схеме предоставляет IISAM с информацией о общем формате файла, имени столбца и типах данных, а также о нескольких других характеристиках данных. Для доступа к данным фиксированной длины всегда требуется файл Schema.ini. Вы должны использовать файл Schema.ini, если в текстовой таблице содержатся данные DateTime, Currency или Десятичные данные или любое время, когда требуется больше контроля над обработкой данных в таблице.
Примечание
Текстовый ISAM получит начальные значения из реестра, а не из Schema.ini. Тот же формат файла по умолчанию применяется ко всем новым таблицам текстовых данных. Все файлы, созданные инструкцией CREATE TABLE, наследуют те же значения формата по умолчанию, которые задаются путем выбора значений формата файла в диалоговом окне "Определение текстового формата" с <выбранным по умолчанию> в списке таблиц. Если значения в реестре отличаются от значений в Schema.ini, значения в реестре будут перезаписаны значениями из Schema.ini.
Schema.ini файлы предоставляют сведения о схеме записей в текстовом файле. Каждая запись Schema.ini указывает одну из пяти характеристик таблицы:
Имя текстового файла
Формат файла
Имена полей, ширины и типы
Набор символов
Специальные преобразования типов данных
В следующих разделах рассматриваются эти характеристики.
Первая запись в Schema.ini всегда является именем исходного файла текста, заключенного в квадратные скобки. В следующем примере показана запись для файла Sample.txt:
[Sample.txt]
Параметр Format в Schema.ini задает формат текстового файла. Text IISAM может автоматически считывать формат из большинства файлов с разделителями символов. В файле можно использовать любой одинарный символ в качестве разделителя, кроме двойной кавычки (). Параметр форматирования в Schema.ini переопределяет параметр в реестре Windows, файл по файлу. В следующей таблице перечислены допустимые значения параметра Format .
Спецификатор формата | Формат таблицы | Оператор Schema.ini Format |
---|---|---|
Вкладка с разделителями | Поля в файле разделены вкладками. | Format=TabDelimited |
Разделители CSV | Поля в файле разделены запятыми (разделенные запятыми значениями). | Format=CSVDelimited |
Настраиваемые разделители | Поля в файле разделены любым символом, выбранным для ввода в диалоговое окно. Все, кроме двойных кавычки (") разрешены, включая пустые. | Format=Delimited(custom character) –или– Без разделителя: Format=Delimited( ) |
Фиксированная длина | Поля в файле имеют фиксированную длину. | Format=FixedLength |
Имена полей можно указать в текстовом файле с разделителями символами двумя способами:
Включите имена полей в первую строку таблицы и задайте для ColNameHeader значение True.
Укажите каждый столбец по числу и укажите имя столбца и тип данных.
Необходимо указать каждый столбец по числу и указать имя столбца, тип данных и ширину для файлов фиксированной длины.
Примечание
Параметр ColNameHeader в Schema.ini переопределяет параметр FirstRowHasNames в реестре Windows, файл по файлу.
Также можно определить типы данных полей. Используйте параметр MaxScanRows, чтобы указать, сколько строк следует проверять при определении типов столбцов. Если задано значение MaxScanRows равным 0, весь файл сканируется. Параметр MaxScanRows в Schema.ini переопределяет параметр в реестре Windows по файлу.
Следующая запись указывает, что Microsoft Jet должна использовать данные в первой строке таблицы для определения имен полей и должна изучить весь файл, чтобы определить типы данных, используемые:
ColNameHeader=True
MaxScanRows=0
Следующая запись назначает поля в таблице с помощью параметра "Номер столбца" (Coln), который является необязательным для файлов с разделителями символов и требуется для файлов фиксированной длины. В примере показаны записи Schema.ini для двух полей, текстового поля CustomerNumber 10 символов и текстового поля CustomerName 30 символов:
Col1=CustomerNumber Text Width 10
Col2=CustomerName Text Width 30
Синтаксис Coln :
n=ColumnName type [Width] [#]
В следующей таблице описана каждая часть записи Coln .
Параметр | Описание |
---|---|
ColumnName | Текстовое имя столбца. Если имя столбца содержит внедренные пробелы, необходимо заключить его в двойные кавычки. |
type | Типы данных приведены следующим образом: Типы данных Microsoft Jet бит Байт Короткие Long Валюта Одна Двойной Дата/время Text Памятка Типы данных ODBC Char (то же, что и text) Float (то же, что и Double) Целое число (то же, что и short) LongChar (то же самое, что и Memo) Формат даты даты |
Ширина | Строковое значение Width литерала. Указывает, что следующий номер обозначает ширину столбца (необязательно для файлов с разделителями символов; требуется для файлов фиксированной длины). |
# | Целочисленное значение, указывающее ширину столбца (требуется, если задана ширина ). |
Вы можете выбрать из двух наборов символов: ANSI и OEM. Параметр CharacterSet в Schema.ini переопределяет параметр в реестре Windows, файл по файлу. В следующем примере показана запись 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 панель управления.