可通过配置schema.ini文件来实现

解决方案 »

  1.   

    用 Schema.ini 文件作用:Schema.ini用于提供文本文件中记录的构架信息。
    每个 Schema.ini 项都用于指定表的五个特征之一:
    1、文本文件名
    2、文件格式
    3、字段名、字段长度、字段类型
    4、字符集
    5、特别数据类型转换1.指定文件名
    文件名要用方括号括起来,例如如果要对 Sample.txt 使用数据构架信息文件,
    那么它的对应的项应该是
    [Sample.txt] 2.指定文件格式
    格式说明         表格式                Schema.ini 格式描述 
    Tab 制表符分隔   文件中的字段用制表符分隔 Format=TabDelimited 
    CSV 分隔         文件中的字段用逗号来分隔 Format=CSVDelimited 
    自定义分隔       文件中的字段可以用任何字符来分隔, Format=Delimited(自定义分隔符)
                     所有的字符都可以用来分隔,包括空格,
                     但是双引号 ( " ) 除外 
                    - 或者没有分隔符 -  Format=Delimited( )
    固定宽度         文件中的字段为固定长度  3.指定字段你可以有两种方法在一个字符分隔的文本文件中指定字段名1、在文本文件中的第一行包含字段名,并且设置 ColNameHeader 为 True 。
    2、用数字编号指定每一列并且指定每一列的名字以及数据类型你必须用数字编号指定每一列并且指定每一列的名字、数据类型以及长度
    (在固定长度分隔的文本文件中需要指定长度)注意,设定了 ColNameHeader 选项,在 Schema.ini 中 Windows 注册时会忽略
    FirstRowHasNames 选项。你也可以指定字段的数据类型,使用 MaxScanRows 选项用来指定在确定列的
    数据类型时要扫描多少行数据。设置 MaxScanRows 为 0 将扫描整个文件。如果文本文件第一行包含字段名,并且要扫描整个文件,则:
    ColNameHeader=True
    MaxScanRows=0 接下来的项目用来指定表中的字段,使用列编号(Coln)选项来指定列。
    字段长度在“固定分隔文本文件中”是必填项目,在“字符分隔文本文件”中是可选项目。示例:定义 2 个字段,
    CustomerNumber 是长度为 10 的文本字段、
    CustomerName 是长度为 30 的文本字段。Col1=CustomerNumber Text Width 10
    Col2=CustomerName Text Width 30 语法如下:
    Coln=ColumnName type [Width #]参数解释如下:
    参数 说明 
    ColumnName 文本,标识字段名,如果包含空格要用双引号括起来 
    type 数据类型包括:
    Microsoft Jet 数据类型:Bit Byte Short Long Currency Single Double DateTime Text MemoODBC 数据类型: Char (same as Text) Float (same as Double) Integer (same as Short) 
    LongChar (same as Memo) Date date format其中date format 是日期的格式字符串例如:Date YYYY-MM-DD 
     
    Width 字符串的长度,后面的数字用来指定字段的长度
    (“固定分隔文本文件”为必填,“文字分隔文本文件”为可选) 
    # 整形数字,标识字段长度4.指定字符集
    CharacterSet 项有两个选择:ANSI | OEM
    选择 ANSI 字符集用如下方法:
    CharacterSet=ANSI 5.特别数据类型转换: 
    特别数据类型转换主要是定义比如日期、货币型数据如何转换或者如何显示的
      

  2.   

    下面给出一个简单的例子,假设有一个表Contacts.txt类似下面:
    姓名 单位  联系日期 
    王海 上海有机化学研究所 2002-1-1 
    罗炙 数字化机床研究院  2004-1-1  导入 Access 应该类似下面表格:
    姓名 单位  联系日期 
    王海 上海有机化学研究所 2002-1-1 
    罗炙 数字化机床研究院  2004-1-1 那么 Schema.ini 则是类似下面的INI文件:
    [Contacts.txt]
    ColNameHeader=True
    format=Delimited(" ")
    MaxScanRows=0
    CharacterSet=ANSI
    Col1="姓名" Char Width 10
    Col2="单位" Char Width 9
    Col3="联系日期" Date Width 8 注释如下:
    [Contacts.txt] ///文本文件名
    ColNameHeader=True ///带有表头
    format=Delimited( ) ///空格作为分隔符,如果是分号,请用format=Delimited(;) 来解决
    MaxScanRows=0 ///扫描整个文件
    CharacterSet=ANSI ///ANSI 字符集
    Col1="姓名" Char Width 10 ///字段1
    Col2="单位" Char Width 9 ///字段2
    Col3="联系日期" Date Width 8 ///字段3
    ///如果有更多字段可 Col4 .... ColN  注意,Schema.ini 必须和需要导入的文本文件在同一目录。
      

  3.   

    看的不是很明白啊!!
    我举个例子啊!!比如1.txt文本里面有以下数据:
    第一行:12345678949494
    第二行:59049404330303
    第三行:09940290293020
    导入后台数据库的表中 a  table 一共有两个字段
    导入规则: 第一行:第一字段取5位 第二个字段取剩下的
               第二行:第一字段取3位 第二个字段取剩下的
               第二行:第一字段取7位 第二个字段取剩下的
    大侠,怎么办?