热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

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

MSDN上说明很详细:msdn.microsoft.comen-uslibrarywindowsdesktopms709353(vvs.85).aspx举个例子来说,test.csv文件内容如下Type,V1,V2,Qty19809,123,124,342ab23,343,435,2223456,908,987,16我遇到的情况是,SQLSERVER数据库,用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数据库,用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

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

推荐阅读
author-avatar
myq9395014
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有