in

TimberLandChapel.com Community Stage

技術者はたゆまぬ努力と一瞬のひらめき。。。
TimberLandChapel は日々研鑽する技術者をサポートします。DevPartner U.G. を立ち上げました。(2007.08.20)

ログファイルで、日付による動的ファイル名と、任意の出力先ディレクトリを実現したい

最新の投稿は、投稿日時: 2009-06-30 21:43 投稿者: timberlandchapel です。スレッドには 1 件の返答があります。
ページ 1 / 1 (2 アイテム)
投稿のソート: 前へ 次へ
  • 2009-06-25 14:48

    • Kogepan
    • 貢献度トップ 25
    • 登録日 : 2009-06-25
    • 投稿数 2

    ログファイルで、日付による動的ファイル名と、任意の出力先ディレクトリを実現したい

    はじめまして。こげパンです。

    ログファイルを動的に作成しようとして、てこずってます。
    やりたいことは、ファイル名を日付ごとに分けることと、さらにディレクトリも任意に指定したいことです。

    過去ログを参考にしましたが、
    http://blogs.timberlandchapel.com/blogs/timberlandchapel/pages/ssis-lightning-ssis.aspx
    これですと、ディレクトリが任意指定できません。

    そこで、ディレクトリをパッケージ構成ファイルに指定して、さらにスクリプトタスクを利用して、
    パス+ファイル名を生成して変数に渡すことで実現してみようと考えたのですが、
    これがうまくいきません。

    もしかすると、ファイル接続マネージャのConnectionStringは、スクリプトタスクで生成した
    値は参照できないんでしょうか(変数に読み込むタイミングの問題?)


    試したのは、以下のような実装です。

    ○変数
    varLocalDir, スコープ:Package.dtsx, String, (null)
    varLogFileConnStr, スコープ:Package.dtsx, String, (適当な既存のファイルを指定)

    ※ここで適当な既存のファイルを指定しておかないとエラーになってしまいます。
    これも指定しなくてもよいように、何とかならないものでしょうか?

    ○スクリプトタスクのプロパティ
    ReadVariables:  varLocalDir
    ReadWriteVariables:  varLogFileConnStr

    ※スクリプトタスクは、すべてのタスクの先頭に持ってきております。

    ○スクリプトの実装(ログファイル 変数への代入)
    Dts.Variables("varLogFileConnStr").Value = _
            CType(Dts.Variables("varLocalDir").Value, String) + Today().ToString("yyyyMMdd") + ".log"

    ※varLocalDirは、パッケージ構成ファイルから読み込んでいます。
    この値は、他の変数にも使用していて、そちらで正常に格納されていることが確認できています。

    ○ファイル接続マネージャ(Name: LogFile Connection)
    Expressions
        ConnectionString: @[User::varLogFileConnStr]

    ○ログの構成
    テキストファイルのSSISログプロバイダ
        構成に LogFile Connection を指定


    今はひとまずあきらめて、上記のvarLogFileConnStrの変数に、パッケージ構成ファイルから、
    フルパスを指定する形で実装しています。これだとうまくいきますが、
    日付ごとにログを分けることができません。


    お分かりになる方、どうかご教授お願いいたします。

    環境: SQL Server 2005 SP2

    タグ :
  • 2009-06-30 21:43 返答元:

    Re: ログファイルで、日付による動的ファイル名と、任意の出力先ディレクトリを実現したい

    お疲れ様です。TimberLandChapelです。

    すいません。ちょっと海外に出てたのでお返事遅れました。

    さて,

    1.※ここで適当な既存のファイルを指定しておかないとエラーになってしまいます。

    残念ながら,2005 SSIS ではだめですね。

    で,本題ですが,

    パッケージ構成ファイルにまでパスを持ってこられているのであれば,

    その変数 varLocalDir を使って式(Expression)を構成するのでうまくいかないですか?

    わざわざスクリプトを組む必要はないように思いますが。

     

    /----------
     TimberLandChapel
     TimberLandChapel.com Community Stage 管理者
    ----------/
ページ 1 / 1 (2 アイテム)
Powered by Community Server (Non-Commercial Edition), by Telligent Systems