スクリプトタスクを使用して大量のデータを読み込むSSISパッケージがあり、次のようなメモリ例外の問題が発生しました。SSISスクリプトのapp.configの欠如の解決メモリ例外の問題を解決するタスク
System.OutOfMemoryException: 'System.OutOfMemoryException'型の例外がスローされました。
これらはフレームワークの既定の制限を超えて増加するList<T>
が原因で発生しています。 MSDNサイトによると、私は私のapp.configファイルに次のように設定する必要があります。
<gcAllowVeryLargeObjects enabled="true" />
SSISは、任意のapp.configをまたはWebから読み取るようには見えないので、しかし、私はこれを行うことはできません。設定ファイル。これはスクリプトタスクの制限と思われます。
私はポストhereを見て、インストールディレクトリのさまざまな設定ファイルを見て、上記のXMLスニペットを追加しましたが無駄にしました。このようにすることはできますか?これを回避するには別の方法が必要ですか?
私は64ビットとしてプロセスを実行していることに注意してください。
ありがとうございました。
にあります。すべてのオブジェクトを一度にメモリにロードする必要がありますか?完全なブロックではなくストリームまたはキューとして扱うことはできますか? –
最終目標は、データをMongoDBにロードすることです。実際にConcurrentBagを使用しています。呼び出しがマルチスレッド設定で行われているため、ストリーム/キューを使用したくない理由は、スクリプトエラーの場合は何も挿入しないためです。パッケージ/スクリプトタスクの失敗の場合に削除計画を設定するのではなく、私が挿入する前に全容量までリストを構築します。 –
RizJa
クラスプロジェクト(app configを使用)を作成し、スクリプトタスクからdllを参照できます。 –