欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-05-31 11:05:31
...

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

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