SQL Server數據轉換服務利用與導入式格式的描述
此文章主要講述的是SQL Server數據轉換服務的四個妙用之利用數據轉換規范導入數據的格式,假如你在實際操作中遇到類似的情況,而且你也不知道對其如何正確的解決,那么以下的文章對你而言一定是良師益友。
SQL Server數據轉換服務允許數據庫管理員在數據導入到SQLServer數據庫中,在對原始數據沒有進行更改的情況下,對需要導入的數據進行一些格式方面的調整或者利用一些函數進行操作。如現在數據庫管理員需要從一份Excle表格中導入數據,但是在Excle表格中有一列商品編號,其是字符型數據。
可是在SQL Server數據庫中,則要求為整數型數據。若沒有數據轉換工具幫忙的話,則數據庫管理員需要先在Excel表格中進行格式轉換,然后再把轉換后的數據導入到SQL Server數據庫中。而如果利用SQL Server數據轉換服務導入數據的話,則在導入的過程中,就可以利用函數進行數據類型的轉換,而不用修改原始的數據源。
筆者再談一個自己遇到真實案例。一次筆者在給一個客戶導入基礎資料的時候,遇到了這一種情況。他們在使用SQL Server數據庫之前,采用的是ACCESS數據庫。在這個數據庫中有一個產品基本信息表,包含產品關鍵字、產品分類等等。當需要把這個數據庫中的內容導入到SQL Server中時,要根據產分類的不同,給產品編號加入不同的前綴。
如產品為成品的,則在產品編號前加入P;如果產品為包裝材料的,則在原有的產品編號前加入B;若產品的類別為零件的,則加入M等等。此時,筆者就沒有對原始的數據源進行更改。而是利用DTS服務在把數據導入到SQL Server數據庫之前,利用相關的函數,如字符型數據合并等函數,進行一些格式的調整。
所以,SQL Server數據轉換服務的一個好處,就是在不用更改原始數據源的情況下,就可以規范需要導入的數據格式。這在異構數據源相互導入中,非常有用。
筆者另外一個同事也遇到過類似的問題。如他在給用戶導入庫存表的時候,也要進行一些數據轉換。當庫存數量大于等于0的時候,則導入的數值就是原來的庫存數量。如果原始數據庫庫存數量小于0的時候,則導入的庫存數量就為0。
筆者同事在導入的過程中,就簡單的編寫了一個ActiveX腳本來實現這個需求。在這個腳本中,可以利用IF等函數來進行數據轉換,因為這些函數可以應用到專門的轉換或者包含條件邏輯。從而可以把記錄根據不同的條件邏輯轉換為合適的數據或者格式。
所以,在導入數據過程中,如果要對一些數據進行格式或者其他方面的轉換,筆者就建議大家采用DTS來轉換數據,并導入到數據庫中。
以上的相關內容就是對SQL Server數據轉換服務的四個妙用之利用數據轉換規范導入數據的格式的介紹,望你能有所收獲。
【編輯推薦】

















