欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 數據庫 > 詳解4種SQL Server數據庫批量導入數據的方法

詳解4種SQL Server數據庫批量導入數據的方法

2016-08-29 12:08:43 | 來源:中培企業IT培訓網

數據導入一直是軟件項目實施過程中項目人員有點頭疼的問題。中培偉業《SQL Server2012數據庫管理與性能調優》培訓專家臧老師指出,在SQL Server中集成了很多成批導入數據的方法。對于那些專業的數據庫管理人員來說,這些讓項目實施顧問頭疼的數據批量導入問題則完全不是問題臧老師在這里也介紹了四種4種SQL Server數據庫批量導入數據的方法

第一:使用Select Into語句
   若企業數據庫都采用的是SQL Server數據庫的話,則可以利用Select Into語句來實現數據的導入。Select Into語句,他的作用就是把數據從另外一個數據庫中查詢出來,然后加入到某個用戶指定的表中。
    在使用這條語句的時候,需要注意幾個方面的內容。
    一是需要在目的數據庫中先建立相關的表。如想把進銷存系統數據庫(SQLServer)中的產品信息表(Product)導入到ERP系統中的產品信息表(M_Product)中。則前期是在ERP系統的數據庫中已經建立了這張產品信息表。
    二是這種方法只復制表中的數據,而不復制表中的索引。如在進銷存系統數據中的產品信息表中,在產品編號、產品種類等字段上建立了索引。則利用Select Into語句把數據復制到ERP系統的表中的時候,只是復制了數據內容的本身,而不會復制索引等信息。
    三是這條語句使用具有局限性。一般情況下,這只能夠在SQL Server數據庫中采用。不過,對于SQL Server不同版本的數據庫,如2008或者2003,還都是兼容的。若需要導入的對象數據庫不是SQL Server的,則需要采用其他的方法。
    四是采用這條語句的話,在目的表中必須不存在數據。否則的話,目的表中的數據會被清除。也就是說,這個語句不支持表與表數據的合并。在SQL Server中,有一條類似的語句,可以實現這個功能。這條語句就是:Insert Into。他的作用就是把另外一張表中的數據插入到當前表中。若用戶想要的時表與表數據的合并,則可以采用這條語句。兩者不能夠混淆使用,否則的話,很容易導致數據的丟失。
    五是以上兩條語句都支持兼容的不同類型的數據類型。如在原標中,某個字段的數據類型是整數型,但是在目的表中這個字段的數據類型則是浮點型,只要這個兩個數據類型本來就兼容的,則在導入的時候,數據庫是允許的。
第二:利用Excel等中間工具進行控制 
    雖然第一種方法操作起來比較簡單,但是其也有一些缺點。如他只支持同一種類型的數據庫;不能夠對數據進行過多的干預等等。一般情況下,若用戶原數據準確度比較高,不需要過多的修改就可以直接拿來用的話,則筆者就已采用第一種方式。
    但是,若在原數據庫中,數據的準確度不是很高,又或者,有很多數據是報廢的。總之,需要對原數據庫的數據進行整理,才能夠使用的情況,筆者不建議先導入進去,再進行更改。筆者在遇到這種情況時,喜歡利用Excle作為中間工具。也就是說,先把數據中原數據庫中導到Excle中。有些數據庫,如Oracle數據庫,他不支持Excle格式。但是,我們可以把它導為CSV格式的文件。這種文件Excle也可以打得開。
    然后,再在Excle中,對記錄進行修改。由于Excle是一個很強的表格處理軟件,所以,其數據修改,要比在數據庫中直接修改來得方便,來得簡單。如可以利用按時間排序等功能,把一些長久不用的記錄清楚掉。也可以利用替換等功能,把一些不規范的字符更改掉。這些原來在數據庫中比較復雜的任務,在Excle等工具中都可以輕松的完成。
    等到表中的內容修改無誤后,數據庫管理員就可以把Excle表格中的文件直接導入到SQL Server數據庫中。由于SQL Server與Excel是同一個父母生的,所以,他們之間的兼容性很好。在Sql Server中提供了直接從Excel文件中導入數據的工具。
    雖然這要借助中間工具導入數據,但是,因為其處理起來方便、直觀,所以,筆者在大部分時候都是采用這種方式。
第三:使用數據轉換服務導入數據 
    數據轉換服務是SQL Server數據庫中提供的一個非常強大的工具。在SQLServer中,數據轉換功能有一個圖形用戶接口,用戶可以在圖形界面中導入數據,并對數據進行相應的編輯。
    另外,數據轉換服務還支持COM組件的編程接口。這也就是說,在前臺應用程序開發的時候,可以直接調用數據轉換服務。讓用戶通過前臺應用系統,而不用在后臺數據庫系統進行任何的操作,就可以把數據導入數據庫系統中去。在前臺對數據庫系統進行導入,有一個明顯的好處,就可以預先對數據的合法性進行檢查。如可以利用VB等腳本語言對數據進行檢驗、凈化和一定的轉換,以符合目的數據庫的需要。
    如在員工信息表中的婚姻狀況字段,在Oracle數據庫系統中,可能是用0或者1來表示婚姻狀況。0表示未婚,1表示已婚。而在SQL Server數據庫中,則利用Y或者N來表示婚姻狀況。Y表示已婚,N表示未婚。在導入數據的時候,若直接把Oracle數據庫表中的數據導入到SQL Server數據庫中,因為婚姻狀況這個字段存儲的內容類型不同,所以,不能夠直接導。遇到這種情況的話,則就可以在導入數據之前,先利用腳本語言對數據類型進行驗證。若不符合要求的,則可以通過腳本語言對數據進行一定的轉換,把0轉換為N,把1轉換為Y等等。
    所以,有時候程序員在開發前臺應用程序的時候,若要開發數據導入功能的話,我們都是建議采用這個數據轉換服務。不但有現成的接口,而且,還可以對數據進行驗證與一定程度的轉換。另外,數據轉換服務的數據導入效率非常的高。即使通過前臺程序調用,其性能也比其他方法在同等條件下,要高一個檔次。而且,隨著數據量的增加,數據轉換服務的優勢會越來越明顯。
    不過,在前臺應用程序調用數據轉換服務的時候,需要注意。數據轉換服務提供的COM接口比較復雜,所以,前臺程序調用數據轉換服務的代碼也比較復雜。若再加上一些腳本語言的話,可能處理起來更加的繁瑣。故一般只有在大型系統上才會用到這個接口。若數據不多,否則不需要復雜驗證與轉換的話,利用這個接口是大刀小用,得不償失。
第四:異構數據庫之間的導入導出 
     雖然第二種、第三種方式都可以完成異構數據庫之間數據的導入導出作業。不過,在SQL Server中,還提供了另外一種解決方案。即直接在SQL Server數據庫中連接到其他類型的數據庫上,然后采用Select Into等語句實現數據的導入作業。
    SQL Server中,提供了兩個函數可以幫助我們實現對非SQL Server數據庫的連接。這兩個函數分別為Opendatesource與Openrowset。他們的功能基本相同,只是在細節上有所差異。
     Opendatesource這個函數至能夠打開源數據庫的表和視圖,而不能夠對其進行過濾。若用戶只想把源表中的部分數據導入到SQL Server數據庫的表中,則不能對源表直接進行過濾。過濾的動作需要在SQL Server數據庫中進行。而Openrowset這個函數,可以在打開對方數據庫的表或者視圖的時候,直接利用Where等條件限制語句對記錄進新過濾。為此,在實際應用中,還是Openrowset這個函數使用的頻率比較高。
    不過由于其需要用戶寫復雜的參數,而且,又不能夠提供復雜的數據驗證功能,所以在實際工作中用的并不是很多。在一些小的應用系統中,偶爾還可以見到其的蹤影。在一些大的成熟的商業軟件中,很少采用這種方式,對數據進行導入。
    有時候,選擇多了,用戶反而不知道如何下手。筆者平時最喜歡采用的是第二種處理方式。他比較直觀,而且,可以對數據進行成批的更改與整理。但是,其缺陷就是效率比較低,特別是Excle軟件對于處理大量記錄的時候,速度比較慢。若這種方式行不通的話,則筆者比較傾向于采用數據轉換的處理方式。這個操作起來雖然比較復雜,但是,其可以提供比較復雜的驗證,而且可以在圖形化的界面中對數據進行修改,同時效率也比較高。

標簽: SQL Server
主站蜘蛛池模板: 呦交小U女精品视频 | 中文字幕在线中文一页 | 欧美视频一级 | SM调教室论坛入口 | 日本强伦免费无码 | 老头霸占人妻中文字幕 | 玖玖资源站亚洲最大成人网站 | 超薄肉色丝袜一区二区 | 卡1卡2卡3精品接入口 | 四虎影院永久免费观看 | 国产又爽又黄又舒服又刺激视频 | 手机看免费毛片的网站 | 亚洲精品一品区二品区三区 | 无码人妻一区二区三区免费 | 亚洲精品成人AA片在线播 | 亚洲精品网站在线观看你懂的 | 国产精品欧美亚洲韩国日本久久 | 国产偷摄中国推油按摩富婆 | 欧洲人妻丰满AV无码久久不卡 | 亚洲中文无码线在线观看 | 亚洲综合无码日韩国产加勒比 | 午夜羞羞影院男女爽爽爽 | 中文字幕色偷偷人妻久久 | 久久久久久久久久久久影院 | 女人被狂躁高潮啊的视频在线看 | 国产精品岛国久久久久久 | 在线观看免费AV无码不卡 | 亚洲va中文字幕无码一二三区 | 国产精品嫩草影院春菇 | 7777奇米成人四色眼影 | 精品日产一区二区三区 | 亚洲精品第一国产综合麻豆 | 欧美18videos极品 | 依依成人精品视频在线观看 | 亚洲精品白浆高清久久久久久 | 噜噜噜免费视频 | 精品一区二区三区自拍图片区 | 男女裸体影院高潮 | 亚洲日本va中文字幕在线 | 久久99精品国产麻豆蜜芽 | 成人爱做日本视频免费 |