最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL Server數(shù)據(jù)庫(kù)中批量導(dǎo)入數(shù)據(jù)的2種方法

 更新時(shí)間:2015年09月27日 15:49:59   投稿:lijiao  
數(shù)據(jù)導(dǎo)入一直是項(xiàng)目人員比較頭疼的問(wèn)題。其實(shí),在SQL Server中集成了很多成批導(dǎo)入數(shù)據(jù)的方法,接下來(lái)為大家介紹下常用的四種批量導(dǎo)入數(shù)據(jù)的方法,感興趣的各位可以參考下哈

在軟件項(xiàng)目實(shí)施的時(shí)候,數(shù)據(jù)導(dǎo)入一直是項(xiàng)目人員比較頭疼的問(wèn)題。其實(shí),在SQL Server中集成了很多成批導(dǎo)入數(shù)據(jù)的方法。有些項(xiàng)目實(shí)施顧問(wèn)頭疼的問(wèn)題,在我們數(shù)據(jù)庫(kù)管理員眼中,是小菜一碟?,F(xiàn)在的重點(diǎn)就是,如何讓用戶(hù)了解這些方法,讓數(shù)據(jù)導(dǎo)入變得輕松一些。相信以下方法大家都用過(guò)了,溫故而知新哈,如果有更好的方法希望大家都提出來(lái)~

一、使用Select Into語(yǔ)句

若企業(yè)數(shù)據(jù)庫(kù)都采用的是SQL Server數(shù)據(jù)庫(kù)的話(huà),則可以利用Select Into語(yǔ)句來(lái)實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)入。Select Into語(yǔ)句,他的作用就是把數(shù)據(jù)從另外一個(gè)數(shù)據(jù)庫(kù)中查詢(xún)出來(lái),然后加入到某個(gè)用戶(hù)指定的表中。

在使用這條語(yǔ)句的時(shí)候,需要注意幾個(gè)方面的內(nèi)容。

1、需要在目的數(shù)據(jù)庫(kù)中先建立相關(guān)的表。如想把進(jìn)銷(xiāo)存系統(tǒng)數(shù)據(jù)庫(kù)(SQLServer)中的產(chǎn)品信息表(Product)導(dǎo)入到ERP系統(tǒng)中的產(chǎn)品信息表(M_Product)中。則前期是在ERP系統(tǒng)的數(shù)據(jù)庫(kù)中已經(jīng)建立了這張產(chǎn)品信息表。

2、這種方法只復(fù)制表中的數(shù)據(jù),而不復(fù)制表中的索引。如在進(jìn)銷(xiāo)存系統(tǒng)數(shù)據(jù)中的產(chǎn)品信息表中,在產(chǎn)品編號(hào)、產(chǎn)品種類(lèi)等字段上建立了索引。則利用Select Into語(yǔ)句把數(shù)據(jù)復(fù)制到ERP系統(tǒng)的表中的時(shí)候,只是復(fù)制了數(shù)據(jù)內(nèi)容的本身,而不會(huì)復(fù)制索引等信息。

3、這條語(yǔ)句使用具有局限性。一般情況下,這只能夠在SQL Server數(shù)據(jù)庫(kù)中采用。不過(guò),對(duì)于SQL Server不同版本的數(shù)據(jù)庫(kù),如2008或者2003,還都是兼容的。若需要導(dǎo)入的對(duì)象數(shù)據(jù)庫(kù)不是SQL Server的,則需要采用其他的方法。

4、采用這條語(yǔ)句的話(huà),在目的表中必須不存在數(shù)據(jù)。否則的話(huà),目的表中的數(shù)據(jù)會(huì)被清除。也就是說(shuō),這個(gè)語(yǔ)句不支持表與表數(shù)據(jù)的合并。在SQL Server中,有一條類(lèi)似的語(yǔ)句,可以實(shí)現(xiàn)這個(gè)功能。這條語(yǔ)句就是:Insert Into。他的作用就是把另外一張表中的數(shù)據(jù)插入到當(dāng)前表中。若用戶(hù)想要的時(shí)表與表數(shù)據(jù)的合并,則可以采用這條語(yǔ)句。兩者不能夠混淆使用,否則的話(huà),很容 易導(dǎo)致數(shù)據(jù)的丟失。

5、以上兩條語(yǔ)句都支持兼容的不同類(lèi)型的數(shù)據(jù)類(lèi)型。如在原標(biāo)中,某個(gè)字段的數(shù)據(jù)類(lèi)型是整數(shù)型,但是在目的表中這個(gè)字段的數(shù)據(jù)類(lèi)型則是浮點(diǎn)型,只要這個(gè)兩個(gè)數(shù)據(jù)類(lèi)型本來(lái)就兼容的,則在導(dǎo)入的時(shí)候,數(shù)據(jù)庫(kù)是允許的。

另外再補(bǔ)上一個(gè)小技巧:

我們想復(fù)制表a的所有字段名到一個(gè)新表b的時(shí)候,可以使用以下方法:

1)select * into b from a where 1<>1 (僅SQL Server可用)

2)select top 0 * into b from a

二、利用Excel等中間工具進(jìn)行控制

雖然第一種方法操作起來(lái)比較簡(jiǎn)單,但是其也有一些缺點(diǎn)。如他只支持同一種類(lèi)型的數(shù)據(jù)庫(kù);不能夠?qū)?shù)據(jù)進(jìn)行過(guò)多的干預(yù)等等。一般情況下,若用戶(hù)原數(shù)據(jù)準(zhǔn)確度比較高,不需要過(guò)多的修改就可以直接拿來(lái)用的話(huà),則筆者就已采用第一種方式。

但是,若在原數(shù)據(jù)庫(kù)中,數(shù)據(jù)的準(zhǔn)確度不是很高,又或者,有很多數(shù)據(jù)是報(bào)廢的??傊?,需要對(duì)原數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行整理,才能夠使用的情況,我不建議先導(dǎo)入進(jìn)去,再進(jìn)行更改。我在遇到這種情況時(shí),喜歡利用Excle作為中間工具。也就是說(shuō),先把數(shù)據(jù)中原數(shù)據(jù)庫(kù)中導(dǎo)到Excle中。有些數(shù)據(jù)庫(kù),如 Oracle數(shù)據(jù)庫(kù),他不支持Excle格式。但是,我們可以把它導(dǎo)為CSV格式的文件。這種文件Excle也可以打得開(kāi)。

然后,再在Excle中,對(duì)記錄進(jìn)行修改。由于Excle是一個(gè)很強(qiáng)的表格處理軟件,所以,其數(shù)據(jù)修改,要比在數(shù)據(jù)庫(kù)中直接修改來(lái)得方便,來(lái)得簡(jiǎn) 單。如可以利用按時(shí)間排序等功能,把一些長(zhǎng)久不用的記錄清楚掉。也可以利用替換等功能,把一些不規(guī)范的字符更改掉。這些原來(lái)在數(shù)據(jù)庫(kù)中比較復(fù)雜的任務(wù),在 Excle等工具中都可以輕松的完成。

等到表中的內(nèi)容修改無(wú)誤后,數(shù)據(jù)庫(kù)管理員就可以把Excle表格中的文件直接導(dǎo)入到SQL Server數(shù)據(jù)庫(kù)中。由于SQL Server與Excel是同一個(gè)父母生的,所以,他們之間的兼容性很好。在Sql Server中提供了直接從Excel文件中導(dǎo)入數(shù)據(jù)的工具。

雖然這要借助中間工具導(dǎo)入數(shù)據(jù),但是,因?yàn)槠涮幚砥饋?lái)方便、直觀(guān),所以,我在大部分時(shí)候都是采用這種方式。最后,再附上如何讓Excel表格在數(shù)據(jù)庫(kù)中能查看到的相關(guān)代碼:

exec sp_addlinkedserver 'excel','ex','Microsoft.Jet.OLEDB.4.0','C:\Documents and Settings\Administrator\桌面\abc.xls',null,'Excel 5.0' --創(chuàng)建一個(gè)名為excel的連接服務(wù),可以查看到abc.xls里面的內(nèi)容

EXEC sp_addlinkedsrvlogin 'excel', 'false', 'sa', 'Admin', NULL --創(chuàng)建一個(gè)映射以允許 SQL Server 登錄 sa 使用 Excel 登錄 Admin 連接到 excel,并且沒(méi)有密碼

--exec sp_dropserver 'excel' --刪除連接

select * from excel...Sheet1$ --查看Excel的Sheet1表里面的內(nèi)容

小提示:Excel表格里面的數(shù)據(jù),必須先去除空格,不然有可能由于空格的原因,導(dǎo)致數(shù)據(jù)的不一致。Excel表格的命名,要設(shè)置為abc.xls,并且放在桌面上。打開(kāi)指定的Excel表格的時(shí)候,不能在數(shù)據(jù)庫(kù)中查看其數(shù)據(jù),不然數(shù)據(jù)庫(kù)會(huì)報(bào)錯(cuò)。

有時(shí)候,選擇多了,用戶(hù)反而不知道如何下手。筆者平時(shí)最喜歡采用的是第二種處理方式。它比較直觀(guān),而且,可以對(duì)數(shù)據(jù)進(jìn)行成批的更改與整理。但是,其缺陷就是效率比較低,特別是Excle軟件對(duì)于處理大量記錄的時(shí)候,速度比較慢。

所以在使用的過(guò)程中,根據(jù)個(gè)人習(xí)慣、喜好選擇自己熟練掌握的進(jìn)行操作,但也要具體問(wèn)題具體分析。

相關(guān)文章

最新評(píng)論

松溪县| 宿州市| 萍乡市| 汝城县| 三原县| 兰坪| 正镶白旗| 永平县| 莎车县| 英德市| 萍乡市| 顺平县| 湾仔区| 临沂市| 马边| 怀化市| 祁东县| 克东县| 麻阳| 临清市| 西贡区| 拜泉县| 佛山市| 临沂市| 云南省| 宣城市| 泸州市| 华阴市| 西城区| 罗源县| 田东县| 称多县| 墨江| 普兰店市| 庆云县| 北流市| 犍为县| 石泉县| 武清区| 南皮县| 米泉市|