-1

このサイトの次の投稿に記載されている方法を使用して、execute sql タスクを使用して sql クエリを読み取り、次に script タスクを使用してクエリ結果を csv ファイルに書き込みます。

SSIS: レコードセットをファイルに書き込むスクリプト タスク ( SSIS: レコードセットをファイルに書き込むスクリプト タスク)。これに加えて、私が必要とするのは、クエリ結果が NULL の場合は常に csv ファイルに「null」が入力されることです。スクリプトタスクを使用してこれを達成する方法???? どのような追加コードを書く必要がありますか??

4

1 に答える 1

0

これを行うにはいくつかの方法がありますが、答えはPersist()foreach データ行ループ内にあります。

       foreach (System.Data.DataRow row in table.Rows)
        {
            // TODO: For string based fields, capture the max length
            IEnumerable<string> fields = (row.ItemArray).Select(field => field.ToString());

            file.WriteLine(string.Join(delimiter, fields));
        }

ラムダ式で db null をテストする必要があります。私はテストしていませんが、これはうまくいくはずです:

IEnumerable<string> fields = (row.ItemArray).Select(field => ((field  == DBNull.Value) "NULL" : field.ToString()));
于 2016-08-08T17:08:02.820 に答える