SSIS パッケージを実行していたときに、いくつかのデータ フロー タスクが例外をスローしましたSystem.OutOfMemoryException
。私はデータ フロー タスクでスクリプト コンポーネントを使用します。このスクリプト コンポーネントはクエリを実行し、ソース データベースからデータを取得します。このデータは約 1.5 GB で、このデータを DataSet に保持します。スクリプト コンポーネントの PreExecute メソッドでデータ フロー タスクが失敗する。これが私のコードブロックです。
public override void PreExecute()
{
base.PreExecute();
connStr = this.Variables.DestinationConnectionString.ToString();
//cmParams = this.Connections.DestinationConnection;
conn = new OleDbConnection(connStr.ToString());
conn.Open();
tableAdapter = new OleDbDataAdapter("SELECT ID,OLD_ID FROM ADDRESS WHERE OLD_ID IS NOT NULL AND TENANTID=" + this.Variables.TenantID.ToString(), conn);
tableDataSet = new DataSet();
tableDataSet1 = new DataSet();
tableDataSet2 = new DataSet();
tableAdapter.Fill(tableDataSet, "Table");
tableAdapter1 = new OleDbDataAdapter("SELECT ID,OLD_ID FROM COMPANY WHERE OLD_ID IS NOT NULL AND TENANTID=" + this.Variables.TenantID.ToString(), conn);
tableAdapter1.Fill(tableDataSet1, "Table1");
tableAdapter2 = new OleDbDataAdapter("SELECT ID,OLD_ID FROM ENTITY WHERE OLD_ID IS NOT NULL AND TENANTID=" + this.Variables.TenantID.ToString(), conn);
tableAdapter2.Fill(tableDataSet2, "Table2");
}
私のパッケージサイズは 4069KB です。
データ フロー タスクの最大バッファ サイズ: 20MB
データ フロー タスクの最大バッファ 最大行数: 10000
この例外について誰か助けてもらえますか?