I have a SQL Server Job that runs each morning. It exists in an environment that I do not have access to.
This job runs several SSIS packages. The first package it runs is rather simple. It has 5 basic steps:
- Execute SQL. Creates a staging table into which the flat file source is inserted.
- Data Flow Task. Moves the data from the flat file source to the OLEDB Destination (staging table). I have one Data Conversion task which simply sets every column to
nvarchar(255). This works fine. - Sequence Container (3 Execute SQL Tasks inside). This container holds three Execute SQL Tasks, all of which do data updates to the staging table (Updates NULLS, invalid text, etc).
I do not use a cursor in the SSIS package itself. I have listed the error below:
An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server" Hresult: 0x80004005 Description: "Could not complete cursor operation because the table schema changed after the cursor was declared.". End Error
This error also references two components:
OLE DB Destination [25] Description: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "OLE DB Destination Input" (38)" failed because error code 0xC020907B occurred, and the error row disposition on "input "OLE DB Destination Input" (38)" specifies failure on error.
I am not building or using a cursor in this SSIS package. The only database changes I am making is building the staging table.
The contact I am working with to troubleshoot this said it could be caused by NULL values, however, all of my columns are NULLable.