最近在研究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