Welcome to Sign in | Help
in Search

DTS import.

Last post 09-19-2007, 6:32 PM by ggciubuc. 7 replies.
Sort Posts: Previous Next
  •  09-17-2007, 1:56 PM 2683

    DTS import.

    Am nevoie sa import o serie de fisiere de extensie variabila (out1007070.5115 out1007070.5116 .....) cum pot face asta avind in vedere ca numele este mereu altul. structura va fi mereu aceasi insa numele va fi mereu altul ...
  •  09-17-2007, 2:38 PM 2684 in reply to 2683

    Re: DTS import.

    SQL 2000 sau SQL 2005?
  •  09-17-2007, 3:13 PM 2685 in reply to 2684

    Re: DTS import.

    In SQL 2005 se pot utiliza variabile si ForEach container (optiunea For Each File Enumerator) cu care se cauta fisiere intr-un director.

    In SQL 2000 ar fi variabilele globale legate de Dynamic Properties task .


    Gheorghe Ciubuc,SQL Server Influencer, MCP(SQL 2000), MCTS (SQL Server 2005) , OCA(Oracle 9i), Sybase(Brainbench)
  •  09-19-2007, 11:53 AM 2698 in reply to 2683

    Re: DTS import.

    Este vorba de SQL server 2000 ... se poate detalia un pic procedura de lucru cu variabilele globale ?
  •  09-19-2007, 2:24 PM 2699 in reply to 2698

    Re: DTS import.

    am rezolvat folosind 2 scripturi de basic
    1:

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'**********************************************************************
    ' Visual Basic ActiveX Script
    '************************************************************************
    Option Explicit

    Function Main()

    ' Declare FSO Related Variables
    Dim sFolder
    Dim fso
    Dim fsoFolder
    Dim fsoFile
    Dim sFileName


    ' Import Folder
    sFolder = DTSGlobalVariables("ImportFolder")

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fsoFolder = fso.GetFolder(sFolder)
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fsoFolder = fso.GetFolder(sFolder)

    For Each fsoFile in fsoFolder.Files
    ' Get first filenme
    sFileName = sFolder & fsoFile.Name
    Exit For
    Next

    'Declare Variables
    Dim oPKG
    Dim oConnection

    ' Get Package Object
    Set oPKG = DTSGlobalVariables.Parent
    ' Get Source Connection Object
    Set oConnection = oPKG.Connections("Connection 1")

    ' Set new Filename
    oConnection.DataSource = sFileName

    Main = DTSTaskExecResult_Success
    End Function


    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    si 2:
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    '**********************************************************************
    ' Visual Basic ActiveX Script
    '************************************************************************
    Option Explicit

    Function Main()

    ' Declare FSO Related Variables
    Dim sFolder
    Dim fso
    Dim fsoFolder
    Dim fsoFilesCollection
    Dim fsoFile
    Dim sFileName

    'Declare Variables
    Dim oPKG
    Dim oConnection

    ' Get Package Object
    Set oPKG = DTSGlobalVariables.Parent
    ' Get Source Connection Object
    Set oConnection = oPKG.Connections("Connection 1")

    ' Import Folder
    sFolder = DTSGlobalVariables("ImportFolder")

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fsoFolder = fso.GetFolder(sFolder)

    Dim bFound
    bFound = False

    For Each fsoFile in fsoFolder.Files
    sFileName = sFolder & fsoFile.Name
    If oConnection.DataSource = sFileName Then
    bFound = True
    ElseIf bFound = True Then
    oConnection.DataSource = sFileName
    ' Set Pump Step to waiting
    oPKG.Steps("Import_date_wizz Step").ExecutionStatus = DTSStepExecStat_Waiting
    Exit For
    End If
    Next

    Main = DTSTaskExecResult_Success
    End Function
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    am testat cu 500 de fisiere si merge fara probleme
  •  09-19-2007, 2:24 PM 2700 in reply to 2698

    Re: DTS import.

    Exemple de lucru cu variabile globale :

    http://www.sqldts.com/redir.aspx?1086 (pe lista la http://www.sqldts.com/273.aspx)

    http://www.sqldts.com/205.aspx

    Insa pt cazul acesta :

    1.Pt a importa un fisier este nevoie de Text File(Source) pt a indica fisierul cu datele de importat

    2.Se creeaza o variabila globala (click dreapta pe fereasta package ->Package Properties->GlobalVariables)  cu numele VarFisier de tip string

    3. Se adauga un Dynamic Properties Task pe ecran -> Add si se merge la Text File Source si se indica la DataSource exact variabila globala VarFisier

    4. se creaaza package -ul si apoi se pregateste de lansat in linia de c-da cu dtsrunui apoi se lanseaza ceva de genul

    DtsRun .... /A "VarFisier":"8"="NumeFisier1.txt"

    DtsRun .... /A "VarFisier":"8"="NumeFisier2.txt"

    ...

    DtsRun .... /A "VarFisier":"8"="NumeFisierN.txt"


    Gheorghe Ciubuc,SQL Server Influencer, MCP(SQL 2000), MCTS (SQL Server 2005) , OCA(Oracle 9i), Sybase(Brainbench)
  •  09-19-2007, 2:32 PM 2701 in reply to 2700

    Re: DTS import.

    cum am facut eu nu e nevoie nicaieri de numele fisierelor ...Mi se pare mai la indemina decit sa trebuiasca sa cunosc numele tuturor fisierelor implicate
  •  09-19-2007, 6:32 PM 2703 in reply to 2701

    Re: DTS import.

    OK. E de tinut minte procedura!
    Gheorghe Ciubuc,SQL Server Influencer, MCP(SQL 2000), MCTS (SQL Server 2005) , OCA(Oracle 9i), Sybase(Brainbench)
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems