文本、Excel、Access數(shù)據(jù)導(dǎo)入SQL Server2000的方法
更新時(shí)間:2008年10月29日 14:30:03 作者:
昨天參加一個(gè)項(xiàng)目的維護(hù),因?yàn)楦鞣N原因,數(shù)據(jù)在不同服務(wù)器上不一致,所以需要重新將數(shù)據(jù)庫(kù)清空一次,并將整理后的數(shù)據(jù)重新導(dǎo)入。需導(dǎo)入的數(shù)據(jù)源為文本文件,記錄以行存儲(chǔ),“,”逗號(hào)分割各字段,每個(gè)字段值用“”雙引號(hào)封閉。
如下所示:
"AWU","102300","ZX240-3","2609997000","2609997000","3016924000","","3091775000","","","QCR0000285",""
"AYE","001800","ZX60","2609997000","2609997000","3016924000","","","","","",""
雖然項(xiàng)目開(kāi)發(fā)了應(yīng)用程序,解析類似的文本文件,并將記錄存儲(chǔ)到數(shù)據(jù)庫(kù)中,但效率顯然不及批量導(dǎo)入。為了節(jié)約時(shí)間,從9:00PM開(kāi)始,決定先嘗試將文本文件導(dǎo)入Excel,再將Excel導(dǎo)入SQL Server2000。(因?yàn)橹安糠謧浞莨ぷ鞅闶窃摬僮鞯哪嫦蚍绞剑?br>
打開(kāi)Excel2007,再選擇打開(kāi)數(shù)據(jù)源的文本文件,系統(tǒng)自動(dòng)進(jìn)入“文本導(dǎo)入向?qū)А薄?BR>第一步,選擇字段分割方式,本例采用“分割符號(hào)”,適當(dāng)調(diào)整文本文件編碼方式(UTF-8、ANSI等),已保證導(dǎo)入數(shù)據(jù)不是亂碼。
第二步,選擇分割符號(hào),文本識(shí)別符號(hào)(太棒了!當(dāng)初還在考慮雙引號(hào)如何去掉)。
第三步,設(shè)置每列數(shù)據(jù)類型(常規(guī)、文本、日期)。點(diǎn)擊完成!
稍微提示下兩個(gè)細(xì)節(jié)問(wèn)題:
1.如示例數(shù)據(jù)第二行第二字段“001800”,如果在導(dǎo)入第三步按“常規(guī)”類型導(dǎo)入,則前端“00”會(huì)被去掉,類似數(shù)字的處理辦法,此時(shí)如需保留,請(qǐng)選擇“文本”類型。
2.有時(shí)源數(shù)據(jù)中難免存在格式問(wèn)題,特別是導(dǎo)入強(qiáng)約束的數(shù)據(jù)庫(kù)表單時(shí)就會(huì)報(bào)錯(cuò)。這時(shí)就得根據(jù)報(bào)錯(cuò)信息回頭檢查Excel中的數(shù)據(jù)。測(cè)試中遇到了逗號(hào)出現(xiàn)在了“,”雙引號(hào)內(nèi)部,導(dǎo)致數(shù)據(jù)無(wú)法導(dǎo)入等情況。多個(gè)雙引號(hào)現(xiàn)象:““”等等。
3.數(shù)據(jù)導(dǎo)入Excel后,最好在第一行前插入一行,輸入數(shù)據(jù)庫(kù)對(duì)應(yīng)表單的字段名。不設(shè)此行能否實(shí)行,還請(qǐng)各位實(shí)踐證明:)
介于上述的第二問(wèn)題,所以推薦先將文本文件導(dǎo)入Access,通過(guò)Access導(dǎo)入SQL Server。這樣的好處在于Access的數(shù)據(jù)類型與SQL Server更類似,這樣當(dāng)文本文件導(dǎo)入Access時(shí)會(huì)嚴(yán)格檢驗(yàn)數(shù)據(jù)的合法性,避免后續(xù)的諸多麻煩。
導(dǎo)入方法也很類似,簡(jiǎn)單介紹下:打開(kāi)Access2007,選擇外部數(shù)據(jù)-文本文件,選中文本文件后,同樣出現(xiàn)“導(dǎo)入文本向?qū)А薄?BR>第一步,選擇固定寬度或分隔符。
第二步,選擇分割符類型和文本標(biāo)識(shí)符,可選項(xiàng)“第一行包含字段名稱”。
第三步,設(shè)置字段名和字段類型(最有價(jià)值的一項(xiàng))。
第四步,是否建立主鍵。
第五步,完成!
稍微提示一個(gè)細(xì)節(jié)問(wèn)題:
某些文本文件在Access導(dǎo)入預(yù)覽時(shí),首行前端會(huì)有一個(gè)亂碼。沒(méi)關(guān)系,打開(kāi)源文本文件,在首行開(kāi)頭回車,建立一個(gè)空行即可。導(dǎo)入數(shù)據(jù)后,在Access表中再次刪除首行記錄。
最后通過(guò)SQL Server企業(yè)管理器,選中需重新導(dǎo)入的表單,右鍵選擇導(dǎo)入數(shù)據(jù)。繼續(xù)下一步吧:)SQL Server導(dǎo)入數(shù)據(jù)時(shí)也會(huì)嚴(yán)格匹配記錄的數(shù)據(jù)類型是否匹配,如果不匹配,則此批次的數(shù)據(jù)導(dǎo)入均失敗。
OK,先分享這些吧。更多技巧,歡迎大家一起來(lái)豐富。Office系列的活用和MS軟件間的巧用真是很強(qiáng)大,需要慢慢挖掘:) SQL Server導(dǎo)入數(shù)據(jù)的更多技巧,我也需要再多學(xué)習(xí)下!
復(fù)制代碼 代碼如下:
"AWU","102300","ZX240-3","2609997000","2609997000","3016924000","","3091775000","","","QCR0000285",""
"AYE","001800","ZX60","2609997000","2609997000","3016924000","","","","","",""
雖然項(xiàng)目開(kāi)發(fā)了應(yīng)用程序,解析類似的文本文件,并將記錄存儲(chǔ)到數(shù)據(jù)庫(kù)中,但效率顯然不及批量導(dǎo)入。為了節(jié)約時(shí)間,從9:00PM開(kāi)始,決定先嘗試將文本文件導(dǎo)入Excel,再將Excel導(dǎo)入SQL Server2000。(因?yàn)橹安糠謧浞莨ぷ鞅闶窃摬僮鞯哪嫦蚍绞剑?br>
打開(kāi)Excel2007,再選擇打開(kāi)數(shù)據(jù)源的文本文件,系統(tǒng)自動(dòng)進(jìn)入“文本導(dǎo)入向?qū)А薄?BR>第一步,選擇字段分割方式,本例采用“分割符號(hào)”,適當(dāng)調(diào)整文本文件編碼方式(UTF-8、ANSI等),已保證導(dǎo)入數(shù)據(jù)不是亂碼。
第二步,選擇分割符號(hào),文本識(shí)別符號(hào)(太棒了!當(dāng)初還在考慮雙引號(hào)如何去掉)。
第三步,設(shè)置每列數(shù)據(jù)類型(常規(guī)、文本、日期)。點(diǎn)擊完成!
稍微提示下兩個(gè)細(xì)節(jié)問(wèn)題:
1.如示例數(shù)據(jù)第二行第二字段“001800”,如果在導(dǎo)入第三步按“常規(guī)”類型導(dǎo)入,則前端“00”會(huì)被去掉,類似數(shù)字的處理辦法,此時(shí)如需保留,請(qǐng)選擇“文本”類型。
2.有時(shí)源數(shù)據(jù)中難免存在格式問(wèn)題,特別是導(dǎo)入強(qiáng)約束的數(shù)據(jù)庫(kù)表單時(shí)就會(huì)報(bào)錯(cuò)。這時(shí)就得根據(jù)報(bào)錯(cuò)信息回頭檢查Excel中的數(shù)據(jù)。測(cè)試中遇到了逗號(hào)出現(xiàn)在了“,”雙引號(hào)內(nèi)部,導(dǎo)致數(shù)據(jù)無(wú)法導(dǎo)入等情況。多個(gè)雙引號(hào)現(xiàn)象:““”等等。
3.數(shù)據(jù)導(dǎo)入Excel后,最好在第一行前插入一行,輸入數(shù)據(jù)庫(kù)對(duì)應(yīng)表單的字段名。不設(shè)此行能否實(shí)行,還請(qǐng)各位實(shí)踐證明:)
介于上述的第二問(wèn)題,所以推薦先將文本文件導(dǎo)入Access,通過(guò)Access導(dǎo)入SQL Server。這樣的好處在于Access的數(shù)據(jù)類型與SQL Server更類似,這樣當(dāng)文本文件導(dǎo)入Access時(shí)會(huì)嚴(yán)格檢驗(yàn)數(shù)據(jù)的合法性,避免后續(xù)的諸多麻煩。
導(dǎo)入方法也很類似,簡(jiǎn)單介紹下:打開(kāi)Access2007,選擇外部數(shù)據(jù)-文本文件,選中文本文件后,同樣出現(xiàn)“導(dǎo)入文本向?qū)А薄?BR>第一步,選擇固定寬度或分隔符。
第二步,選擇分割符類型和文本標(biāo)識(shí)符,可選項(xiàng)“第一行包含字段名稱”。
第三步,設(shè)置字段名和字段類型(最有價(jià)值的一項(xiàng))。
第四步,是否建立主鍵。
第五步,完成!
稍微提示一個(gè)細(xì)節(jié)問(wèn)題:
某些文本文件在Access導(dǎo)入預(yù)覽時(shí),首行前端會(huì)有一個(gè)亂碼。沒(méi)關(guān)系,打開(kāi)源文本文件,在首行開(kāi)頭回車,建立一個(gè)空行即可。導(dǎo)入數(shù)據(jù)后,在Access表中再次刪除首行記錄。
最后通過(guò)SQL Server企業(yè)管理器,選中需重新導(dǎo)入的表單,右鍵選擇導(dǎo)入數(shù)據(jù)。繼續(xù)下一步吧:)SQL Server導(dǎo)入數(shù)據(jù)時(shí)也會(huì)嚴(yán)格匹配記錄的數(shù)據(jù)類型是否匹配,如果不匹配,則此批次的數(shù)據(jù)導(dǎo)入均失敗。
OK,先分享這些吧。更多技巧,歡迎大家一起來(lái)豐富。Office系列的活用和MS軟件間的巧用真是很強(qiáng)大,需要慢慢挖掘:) SQL Server導(dǎo)入數(shù)據(jù)的更多技巧,我也需要再多學(xué)習(xí)下!
相關(guān)文章
Sql server 2012 中文企業(yè)版安裝圖文教程(附下載鏈接)
這篇文章主要介紹了Sql server 2012 中文企業(yè)版安裝圖文教程(附下載鏈接),需要的朋友可以參考下2020-04-04SQL?Server數(shù)據(jù)庫(kù)數(shù)據(jù)文件的遷移步驟
最近有朋友問(wèn)我如何將一臺(tái)電腦中的SQL Server數(shù)據(jù)庫(kù)數(shù)據(jù)文件遷移到另一臺(tái)電腦上,在這給大家分享SQL?Server數(shù)據(jù)庫(kù)數(shù)據(jù)文件的遷移步驟,感興趣的朋友一起看看吧2024-03-03sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
重復(fù)數(shù)據(jù),通常有兩種:一是完全重復(fù)的記錄,也就是所有字段的值都一樣;二是部分字段值重復(fù)的記錄2013-05-05SQL Server誤區(qū)30日談 第14天 清除日志后會(huì)將相關(guān)的LSN填零初始化
當(dāng)日志文件在手動(dòng)增長(zhǎng),自動(dòng)增長(zhǎng)和創(chuàng)建時(shí)都會(huì)進(jìn)行填零初始化操作。但是請(qǐng)不要把這個(gè)過(guò)程和定期清除日志的過(guò)程搞混2013-01-01SQL中concat、concat_ws()、group_concat()的使用與區(qū)別
本文主要介紹了SQL中concat、concat_ws()、group_concat()的使用與區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05