TDS buffer length too large and Protocol error in TDS stream

  • Hi all I am trying to bring data from Application Server to Staging DB in SQL Server 2005 using SSIS 2005.

    One new package I developed is giving me the following error.

    Can any one give me any work around?

    SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.

    An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server" Hresult: 0x80004005 Description: "TDS buffer length too large".

    An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server" Hresult: 0x80004005 Description: "Protocol error in TDS stream".

    An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server" Hresult: 0x80004005 Description: "Protocol error in TDS stream".

    An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server" Hresult: 0x80004005 Description: "Protocol error in TDS stream".

  • Does anyone know why CTE's wont work in SSIS 2005?

    Because for me the SP which is running inside the package has created the problem above.

    There are like 6 CTE's inside the SP.

  • I am doubtful that a CTE being present in a proc will cause this error. Check the driver you are using. A TDS error points to the possibility that the proc is returning a result set that the driver cannot handle, e.g. a data type that did not exist in the version of the driver being used like VARCHAR(MAX).

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato

  • No we don't have VARCHAR(MAX) in our DB. Even I know that's not the issue but this is something which I want to know why this problem is solved because of removing CTE's.

  • VARCHAR(MAX) was just one example. There is also a possibility that the OLE DB driver could not determine the shape of the resultset that should have been returned prior to you making the changes to remove the CTEs, and removing those and bringing the code to a form the OLE DB driver could accept could have been a coincidence. If you want more assistance we'll need to the see the code for the before and after versions of the proc.

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply