DTS w/dynamic source & query

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • znelson

    DTS w/dynamic source & query

    I'm looking for a way to transform the contents of n source tables
    into a single destination table. This by itself is no problem.

    However, the name of the source tables change, so I'll need to base
    the transform task on a global variable that I can update via external
    code. Not sure how to do that. I'm ok with executing the package 10
    times if there's 10 source tables.

    The last unknown piece is modifying the query used for the transform.
    There are 10 columns in the source table, but there are 12 columns in
    the destination table. I must provide the 2 missing columns. They will
    simply contain a year and month, ie. 05 2003.

    I'm taking a bunch of source tables (for a given month and year) and
    rolling them together into one destination table, and carrying over
    the month and year. I assume the month and year would also be globals.
    But I'm not sure how to incorporate them into the transform task since
    it wants strict SQL syntax.

    Any help is appreciated, thanks in advance!
  • Simon Hayes

    #2
    Re: DTS w/dynamic source & query


    "znelson" <znelson@hpis.n et> wrote in message
    news:f5fff72a.0 405060627.796ea 9cb@posting.goo gle.com...[color=blue]
    > I'm looking for a way to transform the contents of n source tables
    > into a single destination table. This by itself is no problem.
    >
    > However, the name of the source tables change, so I'll need to base
    > the transform task on a global variable that I can update via external
    > code. Not sure how to do that. I'm ok with executing the package 10
    > times if there's 10 source tables.
    >
    > The last unknown piece is modifying the query used for the transform.
    > There are 10 columns in the source table, but there are 12 columns in
    > the destination table. I must provide the 2 missing columns. They will
    > simply contain a year and month, ie. 05 2003.
    >
    > I'm taking a bunch of source tables (for a given month and year) and
    > rolling them together into one destination table, and carrying over
    > the month and year. I assume the month and year would also be globals.
    > But I'm not sure how to incorporate them into the transform task since
    > it wants strict SQL syntax.
    >
    > Any help is appreciated, thanks in advance![/color]

    One way to pass in a global variable at runtime is as a parameter to
    dtsrun.exe - you can use dtsrunui.exe to build a sample command line for
    you, then parameterize it using your preferred language:



    This is useful when the number of parameters is fairly limited. An
    alternative if you have many global variables is to put the values in a
    database table or .INI file, and use a Dynamic Properties task to retrieve
    them and assign them to the variables. This allows for more complex logic,
    conditional values based on server name, AD site name etc. Finally, you can
    assign global variable values directly in an ActiveX task.

    As for how to pass in the month/year to an INSERT, these pages may be
    useful:




    Simon


    Comment

    • znelson

      #3
      Re: DTS w/dynamic source &amp; query

      "Simon Hayes" <sql@hayes.ch > wrote in message news:<409a6999$ 1_2@news.bluewi n.ch>...[color=blue]
      > "znelson" <znelson@hpis.n et> wrote in message
      > news:f5fff72a.0 405060627.796ea 9cb@posting.goo gle.com...[color=green]
      > > I'm looking for a way to transform the contents of n source tables
      > > into a single destination table. This by itself is no problem.
      > >
      > > However, the name of the source tables change, so I'll need to base
      > > the transform task on a global variable that I can update via external
      > > code. Not sure how to do that. I'm ok with executing the package 10
      > > times if there's 10 source tables.
      > >
      > > The last unknown piece is modifying the query used for the transform.
      > > There are 10 columns in the source table, but there are 12 columns in
      > > the destination table. I must provide the 2 missing columns. They will
      > > simply contain a year and month, ie. 05 2003.
      > >
      > > I'm taking a bunch of source tables (for a given month and year) and
      > > rolling them together into one destination table, and carrying over
      > > the month and year. I assume the month and year would also be globals.
      > > But I'm not sure how to incorporate them into the transform task since
      > > it wants strict SQL syntax.
      > >
      > > Any help is appreciated, thanks in advance![/color]
      >
      > One way to pass in a global variable at runtime is as a parameter to
      > dtsrun.exe - you can use dtsrunui.exe to build a sample command line for
      > you, then parameterize it using your preferred language:
      >
      > http://www.sqldts.com/default.aspx?301
      >
      > This is useful when the number of parameters is fairly limited. An
      > alternative if you have many global variables is to put the values in a
      > database table or .INI file, and use a Dynamic Properties task to retrieve
      > them and assign them to the variables. This allows for more complex logic,
      > conditional values based on server name, AD site name etc. Finally, you can
      > assign global variable values directly in an ActiveX task.
      >
      > As for how to pass in the month/year to an INSERT, these pages may be
      > useful:
      >
      > http://www.sqldts.com/?234
      > http://www.sqldts.com/?205
      >
      > Simon[/color]

      Simon,

      Thanks a lot, very helpful!

      Comment

      Working...