******************************************************************
BEGIN: TAKEN FROM MSDN ONLINE
******************************************************************
ODBC Drivers 

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, which
is always named Schema.ini and always kept in the same directory as the
text data source, provides the IISAM with information about the general
format of the file, the column name and data type information, and a
number of 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 you want more control over the handling of the data in the
table. 

Note The Text ISAM will obtain initial values from the registry, not
from Schema.ini. The same default file format applies to all new text
data tables. All files created by the CREATE TABLE statement inherit
those same default format values, which are set by selecting file format
values in the Define Text Format dialog box with <default> chosen in the
Tables list. If the values in the registry are different from the values
in Schema.ini, the values in the registry will be overwritten by the
values from Schema.ini. Understanding Schema.ini Files Schema.ini files
provide schema information about the records in a text file. Each
Schema.ini entry specifies one of five characteristics of the table: 

The text file name 
The file format 
The field names, widths, and types 
The character set 
Special data type conversions 
The following sections discuss these characteristics.

Specifying the File Name The first entry in Schema.ini is always the
name of the text source file enclosed in square brackets. The following
example illustrates the entry for the file Sample.txt: 

[Sample.txt]
Specifying the File Format
The Format option in Schema.ini specifies the format of the text file.
The Text IISAM can read the format automatically from most
character-delimited files. You can use any single character as a
delimiter in the file except the double quotation mark ("). The Format
setting in Schema.ini overrides the setting in the Windows Registry on a
file-by-file basis. The following table lists the valid values for the
Format option. 

Format specifier Table format Schema.ini Format statement 
Tab Delimited Fields in the file are delimited by tabs. Format=TabDelimited 

CSV Delimited Fields in the file are delimited by commas
(comma-separated values). Format=CSVDelimited 

Custom Delimited Fields in the file are delimited by any character you
choose to input into the dialog box. All except the double quote (") are
allowed, including blank. Format=Delimited(custom character) 
-or-

With no delimiter specified:

Format=Delimited( )
 
Fixed Length Fields in the file are of a fixed length. Format=FixedLength 

Specifying the Fields
You can specify field names in a character-delimited text file in two ways: 

Include the field names in the first row of the table and set ColNameHeader to True. 

Specify each column by number and designate the column name and data
type. You must specify each column by number and designate the column
name, data type, and width for fixed-length files. 

Note The ColNameHeader setting in Schema.ini overrides the
FirstRowHasNames setting in the Windows Registry on a file-by-file
basis. The data types of the fields can also be determined. Use the
MaxScanRows option to indicate how many rows should be scanned when
determining the column types. If you set MaxScanRows to 0, the entire
file is scanned. The MaxScanRows setting in Schema.ini overrides the
setting in the Windows Registry on a file-by-file basis. 

The following entry indicates that Microsoft Jet should use the data in
the first row of the table to determine field names and should examine
the entire file to determine the data types used: 

ColNameHeader=True
MaxScanRows=0

The next entry designates fields in a table by using the column number
(Coln) option, which is optional for character-delimited files and
required for fixed-length files. The example shows the Schema.ini
entries for two fields, a 10-character CustomerNumber text field and a
30-character CustomerName text field:

Col1=CustomerNumber Text Width 10
Col2=CustomerName Text Width 30
The syntax of Coln is:

Coln=ColumnName type [Width #]
The following table describes each part of the Coln entry.

Parameter  Description 
ColumnName The text name of the column. If the column name contains
           embedded spaces, you must enclose it in double quotation marks. 

type Data types are: 

Microsoft Jet data types
Bit
Byte
Short
Long
Currency
Single
Double
DateTime
Text
Memo

ODBC data types
Char (same as Text)
Float (same as Double)
Integer (same as Short)
LongChar (same as Memo)
Date date format
 
Width The literal string value Width. Indicates that the following
      number designates the width of the column (optional for
      character-delimited files; required for fixed-length files). # The
      integer value that designates the width of the column (required if Width
      is specified). 

Selecting a Character Set
You can select from two character sets: ANSI and OEM. The CharacterSet
setting in Schema.ini overrides the setting in the Windows Registry on a
file-by-file basis. The following example shows the Schema.ini entry
that sets the character set to ANSI:

CharacterSet=ANSI

Specifying Data Type Formats and Conversions
The Schema.ini file contains a number of options that you can use to
specify how data is converted or displayed. The following table lists
each of these options.

Option             Description 
-----------------  -----------------------------------------------------------
DateTimeFormat     Can be set to a format string indicating dates and times.
                   You should specify this entry if all date/time fields in the
                   import/export are handled with the same format. All Microsoft Jet
                   formats except A.M. and P.M. are supported. In the absence of a format
                   string, the Windows Control Panel short date picture and time options
                   are used. 

DecimalSymbol      Can be set to any single character that is used to
                   separate the integer from the fractional part of a number. 

NumberDigits       Indicates the number of decimal digits in the fractional
                   portion of a number. 

NumberLeadingZeros Specifies whether a decimal value less than 1 and
                   greater than -1 should contain leading zeros; this value can either be
                   False (no leading zeros) or True. 

CurrencySymbol     Indicates the currency symbol to be used for currency
                   values in the text file. Examples include the dollar sign ($) and Dm. 

CurrencyPosFormat  Can be set to any of the following values: 
                   Currency symbol prefix with no separation ($1) 
                   Currency symbol suffix with no separation (1$) 
                   Currency symbol prefix with one character separation ($ 1) 
                   Currency symbol suffix with one character separation (1 $) 
 
CurrencyDigits     Specifies the number of digits used for the fractional
                   part of a currency amount. 

CurrencyNegFormat Can be one of the following values: 
($1) 
-$1 
$-1 
$1- 
(1$) 
-1$ 
1-$ 
1$- 
-1 $ 
-$ 1 
1 $- 
$ 1- 
$ -1 
1- $ 
($ 1) 
(1 $) 

This example shows the dollar sign, but you should replace it with the
appropriate CurrencySymbol value in the actual program. 

 
CurrencyThousandSymbol Indicates the single-character symbol to be used
                       for separating currency values in the text file by thousands. 


CurrencyDecimalSymbol  Can be set to any single character that is used to
                       separate the whole from the fractional part of a currency amount. 

Note   If you omit an entry, the default value in the Windows Control Panel is used. 
******************************************************************
END: FROM MSDN ONLINE
******************************************************************



******************************************************************
BEGIN:
The following has been taken from various newsgroups.  
Every attempt has been made to ensure the accuracy of this 
information, but please Understand that some inaccuracies exist
******************************************************************


You can either attach or directly open text files, which can be stored in
either fixed-width or delimited format.  The procedures for retrieving the
data in text files are similar to those used to access data in other
external data sources.  However, unlike other database types, text
databases have no standard schema or structure that you can determine by
inspection.  For this reason, you need to create a SCHEMA.INI that
describes your text file database so that the ISAM driver can manipulate
the data.

Generally, the ability to access text files is provided so you can import
existing text files into your Microsoft Jet database or to export Jet or
other attached database tables to text files.  You shouldn't access text
files in order to establish attached text databases that can be
simultaneously accessed like other attached database tables. 

Special Caveats for Using Text Files


A text file can only be opened for a single user, because the Jet engine
doesn't support multiple users of text files.  When referencing a text
file, you must work with the entire file; you can't reference single fields
or records within the file.
You can read both delimited and fixed-width text files.  The Jet engine
recognizes commas, tabs, and custom delimiters when dealing with delimited
text data, but you must use the same delimiter consistently.  Null data is
denoted by two consecutive delimiters.  For example, if your delimiter is a
double quote ("), two double quotes ("") denotes a Null value.  If you are
using fixed-width data, you can specify the format of the data in a
SCHEMA.INI file (see below).  Null fixed-width data is represented as
spaces.


Customizing the SCHEMA.INI File

To import or export text data, you need to create a SCHEMA.INI file in
addition to including the Text ISAM information in the .INI file. 
SCHEMA.INI contains the specifics of a text data source: how the text file
is formatted, how it is read at import time, and the default export format
for files.  The following examples show the layout for a fixed-width file,
FILENAME.TXT:

[FILENAME.TXT]
ColNameHeader=False
Format=FixedLength
MaxScanRows=25
CharacterSet=OEM
Col1=columnname Char Width 24
Col2=columnname2 Date(dd.mmm.yy) Width 9
Col3=columnname3 Date (mm-dd-yy) Width 8
Col4=columnname4 Date (mmm.dd.yy) Width 9
Col5=columnname5 Date (yyyy-mm-dd) Width 10
Col6=columnname6 Date (yyyy-mmm-dd) Width 11
Col7=columnname7 Float Width 10
Col8=columnname8 Integer Width 10
Col9=columnname9 LongChar Width 10

Similarly, the format for a delimited file is specified as:

[DELIMIT.TXT]
ColNameHeader=True
Format=Delimited(!)
MaxScanRows=0
CharacterSet=OEM
Col1=username char width 50
Col2=dateofbirth Date (dd-mmm-yy) width 9

If you are exporting data into a delimited text file, specify the format
for that file as well:

[Export: My Special Export]
ColNameHeader=True
Format=TabDelimited
MaxScanRows=25
CharacterSet=OEM
DateTimeFormat=mm.dd.yy:hh.mm.ss
CurrencySymbol=Dm
CurrencyFormat=0
CurrencyDigits=2
CurrencyNegativeFormat=0
DecimalSymbol=,
NumberDigits=2
NumberLeadingZeros=0

The FILENAME.TXT and DELIMIT.TXT examples above represent text files
specified at setup time.  The My Special Export example refers to a
specific export option; you can specify any variation of export options at
connect time.  This last example also corresponds to a data source name
(DSN) that can be optionally passed at connect time.  All three format
sections can be included in the same .INI file.
The Jet engine uses the SCHEMA.INI entries as follows.

Entry	Description

ColNameHeader	Can be set to either True (indicating that the first record
of data specifies the column names) or False.
Format	Can be set to one of the following values:  TabDelimited,
CSVDelimited, Delimited(<single character delimiter), or FixedLength.  The
delimiter specified for the Delimited file format can be any single
character except a double quotation mark (").

MaxScanRows	Indicates the number of rows to be scanned when guessing the
column data types.  If this is set to 0, the entire file is searched.
CharacterSet	Can be set to OEM or ANSI, indicating whether the source file
is written using an OEM or ANSI code page. 

DateTimeFormat	Can be set to a format string indicating dates and times. 
This entry should be specified if all date/time fields in the import/export
are handled with the same format.  All of the Jet engine formats except AM
and PM are supported.  In the absence of a format string, the Control Panel
short date picture and time options is used.

CurrencySymbol	Indicates the currency symbol to be used for currency values
in the text file.  Examples include the dollar sign or Dm.  If this entry
is absent, the default value in the Control Panel is used.

CurrencyFormat	Can be set to any of the following values:
0: Currency symbol prefix with no separation ($1)
1: Currency symbol suffix with no separation (1$)
2: Currency symbol prefix with one character separation ($ 1)
3: Currency symbol suffix with one character separation (1 $)
	If this entry is absent, the default value in the Control Panel is used.

CurrencyDigits	Specifies the number of digits used for the fractional part
of a currency amount.  If this entry is absent, the default value in the
Control Panel is used.

CurrencyNegativeFormat	Can be one of the following values:
	0: ($1)
1: $1
2: $1
3: $1
4: (1$)
5: 1$
6: 1$
7: 1$
8: 1 $
9: $ 1
10: 1 $
11: $ 1
12: $ 1
13: 1 $
14: ($ 1)
15: (1 $)
	The dollar sign is shown for purposes of this example, but it should be
replaced with the appropriate CurrencySymbol value in the actual program. 
If this entry is absent, the default value in the Control Panel is used.

DecimalSymbol	Can be set to any single character that is used to separate
the integer from the fractional part of a number.  If this entry is absent,
the default value in the Control Panel is used.

NumberDigits	Indicates the number of decimal digits in the fractional
portion of a number.  If this entry is absent, the default value in the
Control Panel is used.

NumberLeadingZeros	Specifies whether a decimal value less than 1 and
greater than  1 should contain leading zeros; this value can either be 0
(no leading zeros) or 1.

Col1, Col2, ...	Lists the columns in the text file to be read.  The format
of this entry should be: 
	Coln=columnName type [Width #]
	columnName: Column names with embedded spaces should be enclosed in
quotation marks.
	type: Can be Bit, Byte, Short, Long, Currency, Single, Double, DateTime,
Text, or Memo.
	In addition, the following ODBC Text Driver types are supported:
	Char (same as Text)
Float (same as Double)
Integer (same as Short)
LongChar (same as Memo)
Date date format

The Width parameter is ignored if the Format entry is set to any of the
delimited options.




##################################



I've never heard of this file before! I found the following in the help file:

Customizing the Schema.ini File

To read, import, or export text data, you need to create a Schema.ini file in
addition to including the Text ISAM information in the .ini file. Schema.ini
contains the specifics of a text data source: how the text file is formatted,
how it is read at import time, and the default export format for files. The
following examples show the layout for a fixed-width file, Filename.txt.

[Filename.txt]
ColNameHeader=False
Format=FixedLength
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

Similarly, the format for a delimited file is specified as follows:

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

If you are exporting data into a delimited text file, specify the format for
that file as well.

[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

The My Special Export example refers to a specific export option; you can
specify any variation of export options at connect time. This last example also
corresponds to a data source name (DSN) that can be optionally passed at connect
time. All three format sections can be included in the same .ini file.

The Microsoft Jet database engine uses the Schema.ini entries as follows.

Entry Description

ColNameHeader Can be set to either True (indicating that the first record of
data specifies the column names) or False.

Format Can be set to one of the following values: TabDelimited, CSVDelimited,
Delimited (<single character>), or FixedLength. The delimiter specified for the
Delimited file format can be any single character except a double quotation mark
(").

MaxScanRows Indicates the number of rows to be scanned when guessing the column
data types. If this is set to 0, the entire file is searched.

CharacterSet Can be set to OEM or ANSI, indicating whether the source file is
written using an OEM or ANSI code page.

DateTimeFormat Can be set to a format string indicating dates and times. This
entry should be specified if all date/time fields in the import/export are
handled with the same format. All of the Microsoft Jet database engine formats
except AM and PM are supported. In the absence of a format string, the Windows
Control Panel short date picture and time options are used.

CurrencySymbol Indicates the currency symbol to be used for currency values in
the text file. Examples include the dollar sign ($) and Dm. If this entry is
absent, the default value in the Windows Control Panel is used.

CurrencyPosFormat Can be set to any of the following values:Currency symbol
prefix with no separation ($1)Currency symbol suffix with no separation
(1$)Currency symbol prefix with one character separation ($ 1)Currency symbol
suffix with one character separation (1 $)If this entry is absent, the default
value in the Windows Control Panel is used.

CurrencyDigits Specifies the number of digits used for the fractional part of a
currency amount. If this entry is absent, the default value in the Windows
Control Panel is used.

CurrencyNegFormat Can be one of the following
values:($1)$1$1$1(1$)1$1$1$1 $$ 11 $$ 1$ 11 $($ 1)(1 $)The dollar
sign is shown for purposes of this example, but it should be replaced with the
appropriate CurrencySymbol value in the actual program. If this entry is absent,
the default value in the Windows Control Panel is used.

CurrencyThousandSymbol Indicates the single-character symbol to be used for
separating currency values in the text file by thousands. If this entry is
absent, the default value in the Windows Control Panel is used.

CurrencyDecimalSymbol Can be set to any single character that is used to
separate the whole from the fractional part of a currency amount. If this entry
is absent, the default value in the Windows Control Panel is used.

DecimalSymbol Can be set to any single character that is used to separate the
integer from the fractional part of a number. If this entry is absent, the
default value in the Windows Control Panel is used.

NumberDigits Indicates the number of decimal digits in the fractional portion of
a number. If this entry is absent, the default value in the Windows Control
Panel is used.

NumberLeadingZeros Specifies whether a decimal value less than 1 and greater
than 1 should contain leading zeros; this value can either be False (no leading
zeros) or True.

Col1, Col2, ... Lists the columns in the text file to be read. The format of
this entry should be:Coln=columnName type [Width #]columnName: Column names with
embedded spaces should be enclosed in quotation marks.type: Can be Bit, Byte,
Short, Long, Currency, Single, Double, DateTime, Text, or Memo.In addition, the
following ODBC Text Driver types are supported:Char (same as Text)
Float (same as Double)
Integer (same as Short)
LongChar (same as Memo)
Date date format
Note   When you change Windows Registry settings, you must exit and then restart
the database engine for the new settings to take effect.

###############################

When you install the Text Data Source database driver, the Setup
program writes a set of default values to the Windows Registry in the
Engines and ISAM Formats subkeys. You should not modify these settings
directly; use the setup program for your application to add, remove,
or change these settings. The following sections describe
initialization and ISAM Format settings for the Text Data Source
database driver.

Text Data Source Initialization Settings

The Jet\3.5\Engines\Text folder includes initialization settings for
the Mstext35.dll driver, used for external access to text data files.
Typical settings for the entries in this folder are shown in the
following example.

win32=<path>\MSTEXT35.dll
MaxScanRows=25
FirstRowHasNames=True
CharacterSet=OEM
Format=CSVDelimited
Extensions=none,asc,csv,tab,txt
ExportCurrencySymbols=Yes

To read, import, or export text data, you need to create a Schema.ini
file in addition to including the Text ISAM information in the .ini
file. Schema.ini contains the specifics of a text data source: how the
text file is formatted, how it is read at import time, and the default
export format for files. The following examples show the layout for a
fixed-width file, Filename.txt.

[Filename.txt]
ColNameHeader=False
Format=FixedLength
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

Similarly, the format for a delimited file is specified as follows:

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

If you are exporting data into a delimited text file, specify the
format for that file as well.

[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

The My Special Export example refers to a specific export option; you
can specify any variation of export options at connect time. This last
example also corresponds to a data source name (DSN) that can be
optionally passed at connect time. All three format sections can be
included in the same .ini file.


