Аз съм нов в SSIS, така че всяка помощ, предложения, съвети и насоки ще бъдат много оценени. Благодаря.
СЦЕНАРИЙ
Опитвам се да конвертирам DTS пакет в SSIS пакет. Моят пакет съдържа задача за поток от данни, която изпомпва данни от OLE DB връзка към дестинация за плосък файл.
ПРОБЛЕМЪТ
Данните в плоския файл трябва да бъдат подредени по определен начин (напр. интервали). Как да направя това? Има ли някакъв инструмент за преобразуване на данни, който ще ми помогне да постигна това? Ако е така, как ще бъде направено?
КОДЪТ DTS (за да поставите нещата в перспектива)
'************* em>*************** em>*********** ' Visual Basic ActiveX скрипт ' *************** *************** ***********
DO WHILE NOT rsGetActivations.eof OR rsGetActivations.BOF
sLineItem = Space(10)
sLineItem = sLineItem & Space(10)
sLineItem = sLineItem & Space(10)
sLineItem = sLineItem & Replace(Space(8)," ","0")
sLineItem = sLineItem & Space(1)
sLineItem = sLineItem & Replace(Space(8)," ","0")
sLineItem = sLineItem & Replace(Space(3)," ","0")
sLineItem = sLineItem & Space(2)
sLineItem = sLineItem & rsGetActivations("Data_Date") & Space( 8 - Len( rsGetActivations("Data_Date") ) )
sLineItem = sLineItem & rsGetActivations("ID_Number") & Space( 16 - Len( rsGetActivations("ID_Number") ) )
sLineItem = sLineItem & Space(4)
sLineItem = sLineItem & rsGetActivations("Main_Name") & Space( 25 - Len( rsGetActivations("Main_Name") ) )
sLineItem = sLineItem & rsGetActivations("First_Name") & Space( 15 - Len( rsGetActivations("First_Name") ) )
sLineItem = sLineItem & rsGetActivations("Middle_Name") & Space( 15 - Len( rsGetActivations("Middle_Name") ) )
sLineItem = sLineItem & rsGetActivations("Third_Name") & Space( 15 - Len( rsGetActivations("Third_Name") ) )
sLineItem = sLineItem & rsGetActivations("DOB") & Space( 8 - Len( rsGetActivations("DOB") ) )
sLineItem = sLineItem & rsGetActivations("ID_Number") & Space( 13 - Len( rsGetActivations("ID_Number") ) )
sLineItem = sLineItem & rsGetActivations("Non_RSA_ID") & Space( 16 - Len( rsGetActivations("Non_RSA_ID") ) )
sLineItem = sLineItem & Space(15)
sLineItem = sLineItem & Space(15)
sLineItem = sLineItem & Space(15)
sLineItem = sLineItem & Space(15)
sLineItem = sLineItem & rsGetActivations("Gender") & Space( 1 - Len( rsGetActivations("Gender") ) )
sLineItem = sLineItem & Space(3)
sLineItem = sLineItem & Space(1)
sLineItem = sLineItem & Space(15)
sLineItem = sLineItem & Space(15)
sLineItem = sLineItem & Space(40)
sLineItem = sLineItem & "0"
sLineItem = sLineItem & rsGetActivations("Res_Line1") & Space( 30 - Len( rsGetActivations("Res_Line1") ) )
sLineItem = sLineItem & rsGetActivations("Res_Line2") & Space( 30 - Len( rsGetActivations("Res_Line2") ) )
sLineItem = sLineItem & rsGetActivations("Res_Line3") & Space( 30 - Len( rsGetActivations("Res_Line3") ) )
sLineItem = sLineItem & rsGetActivations("Res_Line4") & Space( 30 - Len( rsGetActivations("Res_Line4") ) )
sLineItem = sLineItem & rsGetActivations("Res_Postal") & Space( 6 - Len( rsGetActivations("Res_Postal") ) )
sLineItem = sLineItem & Space(1)
sLineItem = sLineItem & "00"
sLineItem = sLineItem & Space(1)
sLineItem = sLineItem & rsGetActivations("Post_Line1") & Space( 30 - Len( rsGetActivations("Post_Line1") ) )
sLineItem = sLineItem & rsGetActivations("Post_Line2") & Space( 30 - Len( rsGetActivations("Post_Line2") ) )
sLineItem = sLineItem & rsGetActivations("Post_Line3") & Space( 30 - Len( rsGetActivations("Post_Line3") ) )
sLineItem = sLineItem & rsGetActivations("Post_Line4") & Space( 30 - Len( rsGetActivations("Post_Line4") ) )
sLineItem = sLineItem & rsGetActivations("Post_Postal") & Space( 6 - Len( rsGetActivations("Post_Postal") ) )
sLineItem = sLineItem & Space(1)
sLineItem = sLineItem & "00"
sLineItem = sLineItem & rsGetActivations("Bank_Name") & Space( 20 - Len( rsGetActivations("Bank_Name") ) )
sLineItem = sLineItem & rsGetActivations("Bank_Branch") & Space( 20 - Len( rsGetActivations("Bank_Branch") ) )
sLineItem = sLineItem & Space( 6 - Len( rsGetActivations("Branch_No") ) ) & rsGetActivations("Branch_No")
sLineItem = sLineItem & Space( 15 - Len( rsGetActivations("Account_No") ) ) & rsGetActivations("Account_No")
sLineItem = sLineItem & rsGetActivations("Home_Code") & Space( 11 - Len( rsGetActivations("Home_Code") ) )
sLineItem = sLineItem & rsGetActivations("Home_Tel") & Space( 15 - Len( rsGetActivations("Home_Tel") ) )
sLineItem = sLineItem & rsGetActivations("Work_Code") & Space( 11 - Len( rsGetActivations("Work_Code") ) )
sLineItem = sLineItem & rsGetActivations("Work_Tel") & Space( 15 - Len( rsGetActivations("Work_Tel") ) )
sLineItem = sLineItem & rsGetActivations("Cell_No") & Space( 10 - Len( rsGetActivations("Cell_No") ) )
sLineItem = sLineItem & Space(35)
sLineItem = sLineItem & rsGetActivations("Occupation") & Space( 22 - Len( rsGetActivations("Occupation") ) )
sLineItem = sLineItem & rsGetActivations("Emp_Name") & Space( 35 - Len( rsGetActivations("Emp_Name") ) )
sLineItem = sLineItem & Space(2)
sLineItem = sLineItem & Space(6)
fExportFile.Write( sLineItem & sCRLF )
rsGetActivations.MoveNext
LOOP'//end WHILE NOT rsGetActivations.eof OR rsGetActivations.BOF