前提:
1.數據有上百萬條,分成10幾張excel表,從數據庫中導出,由業務部門修改;
2.數據沒什么規律;
3.和數據庫DB商量后決定先把從excel導進數據庫中,再通過關聯查詢修改數據
將 Excel 數據導入 SQL Server:
大致有兩種解決方案:直接從Excel 導入;轉化成文本導入;
1.首先嘗試了第一種解決方案,必須按照excel相關插件,由於服務器上只裝了2003的版本,先把xlsx文件轉為xls文件,右擊數據庫,點擊任務-》導入數據,結果每次只能導入前幾萬條,后面的數據就沒導進去(不知道是不是設置的原因),而且效率比較低
2.用文本的方式導入數據,excel文件另存為“文本文件(制表符分隔)(.txt)”或“CSV (逗號分隔)(.csv)”;如果數據中存在逗號或者制表符會造成導入失敗。
這里我選擇了制表符的txt文件,因為制表符在數據庫中存儲的不多。接着新建表test來存儲這些數據,執行以下sql
USE ImportFromExcel; GO BULK INSERT Test FROM 'C:\Temp\data.txt' WITH ( FIELDTERMINATOR = '\t', ROWTERMINATOR = '\n' ); GO
如果執行完成后發現報錯,定位到txt文件中的具體位置(ctrl+g跳轉到具體行號),查看數據中是否有異常或者不符合格式的數據,修改數據或者刪除放在后續處理;清空表數據再重新執行sql即可