3

Flat file connection Manager - ConnectionString の式ビルダーを使用して、SSIS でランダムな一意のファイル名を作成したいと思います。

「カスタム名」+「一意の部分」+「csv」のようにする必要があります

実際には、ミリ秒単位のタイムスタンプで十分です。

何か案が?

4

5 に答える 5

6

そのためには、式デザインを使用することをお勧めします。

ここでは、ExecutionGuid を使用して値を生成しています。結果が非常に大きいため、最良のアイデアではないかもしれませんが、日時関数を使用して、必要な形式で何かを作成することもできます。

ここに画像の説明を入力

于 2012-05-29T14:14:58.047 に答える
2

すべての REPLACE のおかげで少し複雑ですが、次を使用できます。

"Custom Name " + SUBSTRING(REPLACE(REPLACE(REPLACE((DT_WSTR, 50)(GETDATE()), "-",""), ".", ""), ":",""), 1, 18)  + ".csv"

出発点として。これは以下を返します:

Custom Name 20120529 133526359.csv

可能なファイル名として。100% 一意であることは保証されておらず、明らかにランダムではありませんが、Expression で実行できるのはそれだけだと思います。または、スクリプト タスクを使用して、C#/VB.NET を使用してよりランダムな文字列を生成し、それを変数に書き込み、その変数を式で使用することもできます。

于 2012-05-29T12:37:49.023 に答える
0

string.Format("Custom name{0}.csv", Path.GetRandomFileName());

また

string.Format("Custom name{0}.csv", DateTime.Now.ToString("yyyyMMddhhmmssfff"));

于 2012-05-29T12:26:37.430 に答える
0

これは、一意の日時を取得するためのものです..

" + (DT_WSTR, 30)(DT_DBDATE)GETDATE() + "_" + 
    (DT_WSTR, 05) DATEPART("Hh",GETDATE()) + 
    (DT_WSTR, 05) DATEPART("Mi",GETDATE()) + 
    (DT_WSTR, 05) DATEPART("Ss",GETDATE()) +
    ".csv"
于 2013-10-15T16:35:16.447 に答える
0

エクスプレッションの作成方法を見つけるのは簡単ですが、このエクスプレッションを使用するように出力ファイル名を設定する方法を見つけるのは難しいことがわかりました。これは簡単なプロセスではありません。これがこの問題に対する答えです。これが誰かに役立つことを願っています。

https://blogs.msdn.microsoft.com/sqlgardner/2015/06/18/ssis-tip-using-a-file-path-parameter-for-multiple-flat-files/#comment-1755

于 2017-03-30T19:41:22.457 に答える