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
这样在读取的时候,第二行数据就不会被忽略了
