Ssis-969 ●
Draft Post – SSIS‑969
Title [Bug] SSIS‑969 – Data Flow Task Fails with “Object reference not set to an instance of an object” When Using OLE DB Destination with FastLoad
Summary When running a package that writes data to a SQL Server table via an OLE DB Destination set to FastLoad , the Data Flow task aborts with the error “Object reference not set to an instance of an object” on the last batch of rows. The issue appears consistently after processing ~10 000 rows and seems tied to the Table Lock and Check Constraints options.
Environment | Item | Details | |------|---------| | SSIS Version | SQL Server Data Tools (SSDT) 2022 – version 16.9.2 | | SQL Server | 2019 (15.0.2100.60) – Standard Edition | | Target Table | dbo.Fact_Sales (≈ 2 M rows, clustered PK on SalesID ) | | Package | Load_Fact_Sales.dtsx (Data Flow: Source → Derived Column → OLE DB Destination) | | Execution Mode | Run from Visual Studio (Debug) and from SQL Agent (Job Step) – both fail | | OS | Windows Server 2019 (10.0.17763) | | .NET Framework | 4.8 | | Other | No custom components; only built‑in OLE DB source/destination | SSIS-969
Steps to Reproduce
Open the package Load_Fact_Sales.dtsx in SSDT.
In the OLE DB Destination , set the Data Access Mode to Table or view – fast load . Draft Post – SSIS‑969 Title [Bug] SSIS‑969 –
Enable Keep identity , Keep nulls , Table lock , and Check constraints .
Execute the package (Debug ► Start) or schedule it via a SQL Agent job.
Observe the Data Flow task progressing through the first ~10 000 rows without error. In the OLE DB Destination , set the
After the last batch is sent to the server, the task fails with: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component "OLE DB Destination" (1) returned error code 0xC0202009. The component returned a failure code when the pipeline engine called PrimeOutput(). The error is fatal and the pipeline stopped. Object reference not set to an instance of an object.
Expected Behavior The package should complete successfully, loading all rows into dbo.Fact_Sales using FastLoad, preserving identity values and respecting constraints.
