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