发布网友 发布时间:2022-05-01 07:41
共1个回答
热心网友 时间:2022-04-15 01:30
?===========================================================================问题:我有一个文本文件需要导入 Access ,但是文本文件中有一列数据原本是文本,但是导入数据库后自动变成了“双精度”类型,我该如何让各个字段按我需要的数据类型生成哪?如何让 ACCESS 按照我规定的构架、规格从文本文件、XLS文档中导入数据? ==========================================================================方法:用Schema.ini 文件作用:Schema.ini用于提供文本文件中记录的构架信息。每个 Schema.ini 项都用于指定表的五个特征之一:1、文本文件名2、文件格式3、字段名、字段长度、字段类型4、字符集5、特别数据类型转换======================================================================指定文件名文件名要用方括号括起来,例如如果要对 Sample.txt 使用数据构架信息文件,那么它的对应的项应该是[Sample.txt] =======================================================================指定文件格式格式说明表格式 Schema.ini 格式描述 Tab 制表符分隔 文件中的字段用制表符分隔 Format=TabDelimited CSV 分隔 文件中的字段用逗号来分隔 Format=CSVDelimited 自定义分隔 文件中的字段可以用任何字符 Format=Delimited(自定义分隔符) 来分隔,所有的字符都可以 用来分隔,包括空格,但是 双引号 ( ) 除外 - 或者没有分隔符 - Format=Delimited( )固定宽度 文件中的字段为固定长度 ===============================================================指定字段你可以有两种方法在一个字符分隔的文本文件中指定字段名1、在文本文件中的第一行包含字段名,并且设置ColNameHeader 为 True 。2、用数字编号指定每一列并且指定每一列的名字以及数据类型你必须用数字编号指定每一列并且指定每一列的名字、数据类型以及长度(在固定长度分隔的文本文件中需要指定长度)注意,设定了 ColNameHeader 选项,在 Schema.ini 中 Windows 注册时会忽略FirstRowHasNames 选项。你也可以指定字段的数据类型,使用 MaxScanRows 选项用来指定在确定列的数据类型时要扫描多少行数据。设置 MaxScanRows 为 0 将扫描整个文件。如果文本文件第一行包含字段名,并且要扫描整个文件,改项目就要定义如下:ColNameHeader=TrueMaxScanRows=0接下来的项目用来指定表中的字段,使用列编号(Coln)选项来指定列。字段长度在“固定分隔文本文件中”是必填项目,在“字符分隔文本文件”中是可选项目。示例:定义 2 个字段,CustomerNumber 是长度为 10 的文本字段、CustomerName 是长度为 30 的文本字段。