批量CSV文件导入数据库

最近在研究fusionpbx,,发现它默认是sqlite,支持mysql,支持odbc。

无奈,我只会MS一族。。。查了很多如何从csv导入sqlserver,,,

几种方案:

1. bulkinsert

2. dts import

3. 自己写一个

 

上面的方案 ,优缺点都有。

1. 需要自己手动建表,无法自适应csv的动态表结构,,优点是速度快。

2. 只能一个个csv文件导入,优点是动态适应强。

3. 缺点是,要自己写代码,同时各种复杂的数据结构,比如数据里面包含 comma,之类的分隔符,包含换行分隔符,

    优点是可以自己控制。

 

我比较喜欢自己控制问题,故选择第三种。

用C#写了个console程序,支持标准csv文件导入,

第一行作为表结构头,自动生成表格。

支持用双引号分隔数据列,

问题也有,

1. 代码只支持SQLSERVER,这个简单,只要换一个driver就好了。

2. 数据列中包含换行符的话,就无法处理,

 

我自己大概100多个文件,其中6个无法处理,我用dtsimport手动处理掉。

下载链接如下:

https://pan.baidu.com/s/1hmPcEsdecberKn9tpZ6A0A

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值