溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQLServer數(shù)據(jù)轉換服務有什么用處

發(fā)布時間:2022-01-15 10:00:02 來源:億速云 閱讀:114 作者:小新 欄目:數(shù)據(jù)庫

這篇文章給大家分享的是有關SQLServer數(shù)據(jù)轉換服務有什么用處的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

  數(shù)據(jù)庫管理員在處理數(shù)據(jù)庫時可能需要用到各方面的數(shù)據(jù)庫,那么如何把這些不同格式、不同地理位置的數(shù)據(jù)集中起來進行分析呢為了解決這個難題,SQLServer數(shù)據(jù)庫中提出了一種叫做DTS(數(shù)據(jù)轉換)的服務。通過這個工具,使得數(shù)據(jù)庫管理員可以將來自不同的源的數(shù)據(jù)(不同格式)提取、轉換甚至合并到某個特定的目的(如SQLServer數(shù)據(jù)庫),以滿足統(tǒng)計分析的需要。

  一、導入導出數(shù)據(jù)。

  企業(yè)在部署信息化項目的時候,比較頭痛的一個問題就是基礎數(shù)據(jù)導入的問題。現(xiàn)在大部分企業(yè)在實施信息化項目,如ERP項目時,都一定有一定的信息化水平。最簡單的來說,至少可能已經(jīng)用Excle等辦公軟件來記錄一些信息,如產(chǎn)品信息或者客戶基本信息等。那么,在他們部署ERP系統(tǒng)的時候,若讓企業(yè)員工再一條條的把信息輸入進去,就會增加許多額外的工作量。據(jù)筆者了解,很多企業(yè)都是在原有資料的基礎上,進行稍加修飾,如去掉一些不用的內容或者修改一些不準確的信息后,直接導入到數(shù)據(jù)庫中。

  但是,在導入的過程中,由于格式不兼容或者其他問題,往往會導致導入的失敗。而利用普通的工具,如SQLServer自帶的導入工具,無法記錄這些錯誤信息。利用這些工具在導入數(shù)據(jù)的時候,若遇到一條錯誤就會終止導入進程。如此數(shù)據(jù)庫管理員需要重新檢查數(shù)據(jù)源(有時數(shù)據(jù)庫還不會提示哪條記錄出現(xiàn)了問題)。這么導入數(shù)據(jù)的效率是非常低下的。

  而數(shù)據(jù)轉換服務能夠幫助我們解決這個問題。如數(shù)據(jù)轉換服務可以把文本格式的數(shù)據(jù)或者Excel文件中的數(shù)據(jù)導入到SQLServer數(shù)據(jù)庫中。最重要的是,假如這個原始的數(shù)據(jù)源中某條記錄有問題的話,不會中斷整個導入進程。在導入結束后,數(shù)據(jù)轉換服務會生成一份報告。在這份報告中,會詳細記錄哪些記錄沒有成功導入以及可能遇到的問題。假如記錄少的話,數(shù)據(jù)庫管理員只需要手工錄入即可;而數(shù)據(jù)多的話,數(shù)據(jù)庫管理員也可以分批導入數(shù)據(jù),也把符合要求的記錄導入進去;然后再根據(jù)導入報告去修改那些不符合格式的記錄。修改完成以后再繼續(xù)導入剩余的數(shù)據(jù)。

  很明顯,通過這個數(shù)據(jù)轉換工具,導入不同格式的記錄,會便利許多。與此同時,數(shù)據(jù)轉換服務還可以把SQLServer數(shù)據(jù)庫中的內容導出到一些特定的對象中,如Excel表格中。

  所以,數(shù)據(jù)轉換服務的導入導出數(shù)據(jù)功能,在一些大量數(shù)據(jù)的導入導出以及不同格式的數(shù)據(jù)源之間進行對導,具有很大的用途。如數(shù)據(jù)轉換服務可以將大容量的文本文件格式的記錄高速導入到SQLServer數(shù)據(jù)庫中,等等。

  二、利用數(shù)據(jù)轉換規(guī)范導入數(shù)據(jù)的格式。

  數(shù)據(jù)轉換服務允許數(shù)據(jù)庫管理員在數(shù)據(jù)導入到SQLServer數(shù)據(jù)庫中,在對原始數(shù)據(jù)沒有進行更改的情況下,對需要導入的數(shù)據(jù)進行一些格式方面的調整或者利用一些函數(shù)進行操作。如現(xiàn)在數(shù)據(jù)庫管理員需要從一份Excle表格中導入數(shù)據(jù),但是在Excle表格中有一列商品編號,其是字符型數(shù)據(jù)。可是在SQLServer數(shù)據(jù)庫中,則要求為整數(shù)型數(shù)據(jù)。若沒有數(shù)據(jù)轉換工具幫忙的話,則數(shù)據(jù)庫管理員需要先在Excel表格中進行格式轉換,然后再把轉換后的數(shù)據(jù)導入到SQLServer數(shù)據(jù)庫中。而假如利用數(shù)據(jù)轉換服務導入數(shù)據(jù)的話,則在導入的過程中,就可以利用函數(shù)進行數(shù)據(jù)類型的轉換,而不用修改原始的數(shù)據(jù)源。

  筆者再談一個自己遇到真實案例。一次筆者在給一個客戶導入基礎資料的時候,遇到了這一種情況。他們在使用SQLServer數(shù)據(jù)庫之前,采用的是ACCESS數(shù)據(jù)庫。在這個數(shù)據(jù)庫中有一個產(chǎn)品基本信息表,包含產(chǎn)品關鍵字、產(chǎn)品分類等等。當需要把這個數(shù)據(jù)庫中的內容導入到SQLServer中時,要根據(jù)產(chǎn)分類的不同,給產(chǎn)品編號加入不同的前綴。如產(chǎn)品為成品的,則在產(chǎn)品編號前加入P;假如產(chǎn)品為包裝材料的,則在原有的產(chǎn)品編號前加入B;若產(chǎn)品的類別為零件的,則加入M等等。

  此時,筆者就沒有對原始的數(shù)據(jù)源進行更改。而是利用DTS服務在把數(shù)據(jù)導入到SQLServer數(shù)據(jù)庫之前,利用相關的函數(shù),如字符型數(shù)據(jù)合并等函數(shù),進行一些格式的調整。所以,數(shù)據(jù)轉換服務的一個好處,就是在不用更改原始數(shù)據(jù)源的情況下,就可以規(guī)范需要導入的數(shù)據(jù)格式。這在異構數(shù)據(jù)源相互導入中,非常有用。

  筆者另外一個同事也遇到過類似的問題。如他在給用戶導入庫存表的時候,也要進行一些數(shù)據(jù)轉換。當庫存數(shù)量大于等于0的時候,則導入的數(shù)值就是原來的庫存數(shù)量。假如原始數(shù)據(jù)庫庫存數(shù)量小于0的時候,則導入的庫存數(shù)量就為0。筆者同事在導入的過程中,就簡單的編寫了一個ActiveX腳本來實現(xiàn)這個需求。在這個腳本中,可以利用IF等函數(shù)來進行數(shù)據(jù)轉換,因為這些函數(shù)可以應用到專門的轉換或者包含條件邏輯。從而可以把記錄根據(jù)不同的條件邏輯轉換為合適的數(shù)據(jù)或者格式。

  所以,在導入數(shù)據(jù)過程中,假如要對一些數(shù)據(jù)進行格式或者其他方面的轉換,筆者就建議大家采用DTS來轉換數(shù)據(jù),并導入到數(shù)據(jù)庫中。

  三、導入過程中復制數(shù)據(jù)庫對象。

  若直接利用ODBC等工具把其他SQLServer數(shù)據(jù)庫中的數(shù)據(jù)導入到SQLServer數(shù)據(jù)庫中,只能夠導入數(shù)據(jù),而無法復制數(shù)據(jù)庫表上的對象,如約束、索引、主鍵等等。而且,對于視圖、存儲過程、默認值等基于基礎表的數(shù)據(jù)庫對象也無法導入進去。

  在SQLServer數(shù)據(jù)庫中,數(shù)據(jù)庫管理員可以通過數(shù)據(jù)庫對象復制任務,將對象從數(shù)據(jù)庫的一個實例復制到另外一個??梢詡鬏敾緦ο?,也可以復制某些對象的定義。假如選擇了某個對象,則復制對象任務將會自動復制任何相關聯(lián)的對象,如表湖或者視圖等的功能。前提是這些被復制的對象在選定的對象上有外鍵約束。

  但是,利用DTS服務在導入數(shù)據(jù)的同時,還可以復制數(shù)據(jù)庫對象,可以傳輸諸如視圖、存儲過程、觸發(fā)器、規(guī)則、默認值以及用戶自定義的數(shù)據(jù)類型。這是ODBC等數(shù)據(jù)導入工具所無法實現(xiàn)的功能。若所要復制的數(shù)據(jù)庫對象比較多,數(shù)據(jù)庫管理員還可以通過腳本來復制這些數(shù)據(jù)庫對象。

  復制數(shù)據(jù)庫對象在實際工作中很有作用,可以保障數(shù)據(jù)導入的一致性與完整性。如現(xiàn)在數(shù)據(jù)庫管理員要從其他數(shù)據(jù)庫導入客戶信息表。而客戶信息表中需要引用聯(lián)系人信息表與地址信息表兩個表。也就是說,客戶信息表中有兩個字段是這兩個表的外鍵。那么通過復制對象作業(yè),只要復制了這張客戶信息表,則數(shù)據(jù)庫會自動復制與其相關的表或者其他數(shù)據(jù)庫對象。而不用數(shù)據(jù)庫管理員再手工的去導入其他相關聯(lián)的數(shù)據(jù)。

  四、執(zhí)行一些自動化的操作。

  在數(shù)據(jù)庫管理中,數(shù)據(jù)庫管理員很希望數(shù)據(jù)庫能夠自動收集信息并將信息發(fā)送到用戶指定的地點如郵件等等。在數(shù)據(jù)轉換任務中,就提供了一系列類似的工具,來簡化數(shù)據(jù)庫管理員的工作。如在DTS組套種,有一個發(fā)送郵件的工具。通過相關的設置,數(shù)據(jù)庫會在包成功或者失敗的時候自動發(fā)送一個電子郵件給數(shù)據(jù)庫管理員,以提醒他作業(yè)是成功還是失敗。并且會附上比較詳細的信息,以便于數(shù)據(jù)庫管理員進行后續(xù)的操作。

  數(shù)據(jù)轉換功能中,還包含了一個執(zhí)行包任務,是的一個包運行另一個作為包步驟。這可以讓我們的工作更加的自動化。如在數(shù)據(jù)庫導入過程中,我們可以通過包運行計劃,把需要導入的數(shù)據(jù)表一步步按順序寫入執(zhí)行包計劃中。而讓數(shù)據(jù)庫在比較空閑的時候,自動按序導入數(shù)據(jù)。而數(shù)據(jù)庫管理員不用在旁邊指揮。

  可見,數(shù)據(jù)轉換服務是功能很強的一項服務。在數(shù)據(jù)導入與轉換的過程中,筆者首推這個工具。特別是在數(shù)據(jù)量比較大的情況下,這個數(shù)據(jù)轉換服務確實能夠起到畫龍點睛的作用。

感謝各位的閱讀!關于“SQLServer數(shù)據(jù)轉換服務有什么用處”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI