0xC0047041
Last changed: clement

.

The object is not in the hash table.

Constant DTS_E_OBJECTNOTINHASHTABLE
HRESULT 0xC0047041
Error -1073450943
Code 28737
Facility Pipeline (DTS_FACILITY_PIPELINE)
Severity Error (DTS_SEVERITY_ERROR)

Community Notes

Add your experiences and workarounds here. If you have solved this issue, why not help the next person?

I caused this error to occur by using ComponentMetaData.InputCollection[0].GetVirtualInput().VirtualInputColumnCollection.GetVirtualInputColumnByLineageID(lineageID); in the SetUsageType method for a component I was writing. The actual error did not occur until SetUsageType returned. Removing the ComponentMetaData.InputCollection[0].GetVirtualInput() and using the virtualInput argument to SetUsageType fixed the error.

I received this error when executing a custom .NET Component, which loads records into a data table to perform a unique check. The error seems to occur when I am loading a large amount of data into my package (>500,000 rows), so I am attributing it to reaching a memory limit, but I need to do more research to confirm. The error seems to be ocurring when records are being added to the output buffer. The exact error message is logged as:

<Description>Exception from HRESULT: 0xC0047041</Description>

<Source> at Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSOutputColumn90.get_Length()</Source>

Once this error is thrown a subsequent Exception from HRESULT: 0xC0047020 error is thrown, indicating that the thread is shut down.

Update We have fixed this problem thanks to the following thread:

[http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=355408&SiteID=1]

Since our custom controllers were processing multiple buffers we would create a virtual input for each buffer. We simply modified the code by:

Dim vInput As IDTSVirtualInput90 (as Global)

' and then running a simple test to make sure the object is all ready created:

            If intFlag = 0 Then
                vInput = input.GetVirtualInput()
                intFlag = 1
            End If

-I just have to delete a Data Flow Path which is connected as an input of a Merge Join component to get this error message :added by clement:

PipelineErrorCodes