如下所示:
復制代碼 代碼如下:
"AWU","102300","ZX240-3","2609997000","2609997000","3016924000","","3091775000","","","QCR0000285",""
"AYE","001800","ZX60","2609997000","2609997000","3016924000","","","","","",""
雖然項目開發(fā)了應(yīng)用程序,解析類似的文本文件,并將記錄存儲到數(shù)據(jù)庫中,但效率顯然不及批量導入。為了節(jié)約時間,從9:00PM開始,決定先嘗試將文本文件導入Excel,再將Excel導入SQL Server2000。(因為之前部分備份工作便是該操作的逆向方式)。
打開Excel2007,再選擇打開數(shù)據(jù)源的文本文件,系統(tǒng)自動進入“文本導入向?qū)А薄?BR>第一步,選擇字段分割方式,本例采用“分割符號”,適當調(diào)整文本文件編碼方式(UTF-8、ANSI等),已保證導入數(shù)據(jù)不是亂碼。
第二步,選擇分割符號,文本識別符號(太棒了!當初還在考慮雙引號如何去掉)。
第三步,設(shè)置每列數(shù)據(jù)類型(常規(guī)、文本、日期)。點擊完成!
稍微提示下兩個細節(jié)問題:
1.如示例數(shù)據(jù)第二行第二字段“001800”,如果在導入第三步按“常規(guī)”類型導入,則前端“00”會被去掉,類似數(shù)字的處理辦法,此時如需保留,請選擇“文本”類型。
2.有時源數(shù)據(jù)中難免存在格式問題,特別是導入強約束的數(shù)據(jù)庫表單時就會報錯。這時就得根據(jù)報錯信息回頭檢查Excel中的數(shù)據(jù)。測試中遇到了逗號出現(xiàn)在了“,”雙引號內(nèi)部,導致數(shù)據(jù)無法導入等情況。多個雙引號現(xiàn)象:““”等等。
3.數(shù)據(jù)導入Excel后,最好在第一行前插入一行,輸入數(shù)據(jù)庫對應(yīng)表單的字段名。不設(shè)此行能否實行,還請各位實踐證明:)
介于上述的第二問題,所以推薦先將文本文件導入Access,通過Access導入SQL Server。這樣的好處在于Access的數(shù)據(jù)類型與SQL Server更類似,這樣當文本文件導入Access時會嚴格檢驗數(shù)據(jù)的合法性,避免后續(xù)的諸多麻煩。
導入方法也很類似,簡單介紹下:打開Access2007,選擇外部數(shù)據(jù)-文本文件,選中文本文件后,同樣出現(xiàn)“導入文本向?qū)А薄?BR>第一步,選擇固定寬度或分隔符。
第二步,選擇分割符類型和文本標識符,可選項“第一行包含字段名稱”。
第三步,設(shè)置字段名和字段類型(最有價值的一項)。
第四步,是否建立主鍵。
第五步,完成!
稍微提示一個細節(jié)問題:
某些文本文件在Access導入預(yù)覽時,首行前端會有一個亂碼。沒關(guān)系,打開源文本文件,在首行開頭回車,建立一個空行即可。導入數(shù)據(jù)后,在Access表中再次刪除首行記錄。
最后通過SQL Server企業(yè)管理器,選中需重新導入的表單,右鍵選擇導入數(shù)據(jù)。繼續(xù)下一步吧:)SQL Server導入數(shù)據(jù)時也會嚴格匹配記錄的數(shù)據(jù)類型是否匹配,如果不匹配,則此批次的數(shù)據(jù)導入均失敗。
OK,先分享這些吧。更多技巧,歡迎大家一起來豐富。Office系列的活用和MS軟件間的巧用真是很強大,需要慢慢挖掘:) SQL Server導入數(shù)據(jù)的更多技巧,我也需要再多學習下!
您可能感興趣的文章:- SQL SERVER 與ACCESS、EXCEL的數(shù)據(jù)轉(zhuǎn)換方法分享
- 精妙的SQL和SQL SERVER 與ACCESS、EXCEL的數(shù)據(jù)導入導出轉(zhuǎn)換
- EXCEL數(shù)據(jù)上傳到SQL SERVER中的簡單實現(xiàn)方法