SQL Server SSIS failed validation and returned validation status "VS_ISBROKEN"

qcuzuvrc  于 2023-03-17  发布在  其他
关注(0)|答案(7)|浏览(1404)

I'm trying to create a temp table and process two data flows using the temp table. It is in a sequence container and if I just execute the container it run perfect but when the entire package is ran it returns this error:
Information: 0x4004300A at V-AccidentCodesBase, SSIS.Pipeline: Validation phase is beginning.

Error: 0xC0202009 at V-AccidentCodesBase, Insert into Temp Table [69]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E14.

An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E14 Description: "Statement(s) could not be prepared.".

An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E14 Description: "Invalid object name '##TmpAccidentCode'.".

Error: 0xC004706B at V-AccidentCodesBase, SSIS.Pipeline: "Insert into Temp Table" failed validation and returned validation status "VS_ISBROKEN".

Error: 0xC004700C at V-AccidentCodesBase, SSIS.Pipeline: One or more component failed validation.

Error: 0xC0024107 at V-AccidentCodesBase: There were errors during task validation.

ecfdbz9o

ecfdbz9o1#

I would set the DelayValidation property to True. You may get away with just setting this on the Sequence Container, or you may need to repeat that setting on child objects, e.g. your Data Flow Task.

bnlyeluc

bnlyeluc2#

Also faced the same error message. The issue was permissions on the database for the user that runs the ETL (a service account). Make sure the user that runs the package has enough permissions to execute the query.

1cklez4t

1cklez4t3#

As other guys mentioned, the error may happen due to different reasons. In my case, I realized that I have tried to convert some NULL to int in Script section of SSIS. Something like :

ProductsBuffer.ProductId = Int64.Parse(reader["ProductId"].ToString());

so the fix was easy. I just checked the field before converting, to make sure it is not null:

if (reader["ProductId"] != DBNull.Value)
            ProductsBuffer.ProductId = Int64.Parse(reader["ProductId"].ToString());
8ehkhllq

8ehkhllq4#

In my case I switched from OleDB to SQNCLI and it worked :/

vh0rcniy

vh0rcniy5#

I ended up solving the problem which was overloading tempDB. When I slowed the process down to one command to tempDb at a time it all ran through smoothly.

oogrdqng

oogrdqng6#

I faced the same error, in my case, I was using SSIS to import data from an excel file into a couple of tables.

I used 2 differents files and it failed with one and worked with the other, after some review I found that I was referring to the name of the excel sheet within the package, so the excel sheet has to be named EXACTLY (i think it is case sensitive) as you used on the SSIS package

arknldoa

arknldoa7#

I'm using VS 2017. I wonder if after a while it forgets your "saved" database passwords, because mine worked fine for days, then just quit working out of the blue, gave the VS_ISBROKEN error. After I reentered the password for one of my database connections--despite the fact I had checked the Save Password checkbox previously--it started working again.

相关问题