小结:
Txt文本文件分隔符format有多种。例如:逗号,分号,制表符等
详细参考 :http://msdn.microsoft.com/en-us/library/ms709353%28VS.85%29.aspx
直接用jet引擎导入,例如:
SELECT * INTO jiaofei FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0', 'Text;HDR=YES;FMT=TabDelimited;DATABASE=F:\' , jiaofei#txt) --aa#txt是文本文件名aa.txt
其中:“text;HDR=Yes;FMT=TabDelimited”;
hdr=yes 意思是首行是否包含列名称
FMT=TablDelimited 意思是格式的分割限定
实际导入时,发现源文件是使用”制表符“分隔的,但导入后没有分隔。
经查资料,发现如下两种解决方案:
方案一:修改注册表。
修改注册表中:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Jet \ 4.0 \ Engines \ Text “format”的键值
默认的分隔符为CSV分隔“,”文件是制表符分隔的,那么就要把”format”的键值改成“Tabdelimited”
方案二:增加Schema.ini来订制格式
数据类型, Schema.ini 必须与txt或者csv文件在同一目录下才能生效。
Schema.ini 内容
[test1.txt]
Format=TabDelimited
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI
a=F1 Char Width 3
b=F2 Char Width 10
c=F3 Integer
不太懂~这么做的目的是很忙啊
来关注一下,好棒的文章,支持了…