Home  >  Article  >  Database  >  ODBC读取CSV文件时候的Schema.ini

ODBC读取CSV文件时候的Schema.ini

WBOY
WBOYOriginal
2016-06-07 15:08:151673browse

MSDN上说明很详细:http://msdn.microsoft.com/en-us/library/windows/desktop/ms709353(v=vs.85).aspx 举个例子来说,test.csv 文件 内容如下 Type,V1,V2,Qty 19809,123,124,34 2ab23,343,435,22 23456,908,987,16 我遇到的情况是,SQL SERVER数据库,用OPE

MSDN上说明很详细:http://msdn.microsoft.com/en-us/library/windows/desktop/ms709353(v=vs.85).aspx

举个例子来说,test.csv文件内容如下

Type,V1,V2,Qty
19809,123,124,34

2ab23,343,435,22

23456,908,987,16

我遇到的情况是,SQL SERVER数据库,用OPENDATASET访问(out of scope),结果是Type这一列中只能够读取到第一、三行,而第二行的数据被忽略掉。猜测是因为默认Type列的类型是数值型(可能根据第一行判断),所以忽略了Type值不能够类型转换的第二行。

原来可以在CSV文件同目录下面写一个Schema.ini文件,在使用ODBC Text Driver的时候,根据其中定义的Data Type Format, Character Set等设置读取CSV文件

在test.csv文件目录下创建Schema.ini,内容如下

[test.csv]
Format=Delimited(,)
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI
Type=F1 Char Width 100
Year=F2 Integer
Week=F3 Integer
Qty=F4 Integer

这样在读取时候,第二行数据就不会被忽略了

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn