none
Cannot fetch a row from OLE DB provider "BULK" for linked server

    Question

  • I have an SSIS job that is pumping to a SQL Server Destination, hundreds of gigabytes of raw text files.  Today I received this strange error - does anyone have insight?  Also, how would I make the data tasks more stable and robust so that this doesn't cause package failure (retries, or something?)

    [SQL Server Destination [4076]] Error: An OLE DB error has occurred. Error code: 0x80040E14. An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80040E14  Description: "Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".". An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80040E14  Description: "The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.". An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80040E14  Description: "Reading from DTS buffer timed out.".
    Wednesday, November 15, 2006 7:01 AM

Answers

All replies

  • lowering the maxcommitsize on the SQL destination seems like it fixed this problem.
    Monday, November 20, 2006 1:43 AM
  •  Arjun B wrote:
    I have an SSIS job that is pumping to a SQL Server Destination, hundreds of gigabytes of raw text files.  Today I received this strange error - does anyone have insight?  Also, how would I make the data tasks more stable and robust so that this doesn't cause package failure (retries, or something?)

    [SQL Server Destination [4076]] Error: An OLE DB error has occurred. Error code: 0x80040E14. An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80040E14  Description: "Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".". An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80040E14  Description: "The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.". An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80040E14  Description: "Reading from DTS buffer timed out.".

     

    This is the error you get when you are attempting to load to a remote server. Are you executing the package on the same server that you are inserting to?

    -Jamie

     

    Monday, November 20, 2006 1:57 AM
    Moderator
  • I have been getting this error myself and the only way to resolve it I have found is to delete your Source and Destination and in my situation Lookup Transformation.  One thing I have noticed using any drag and drop in VS or SQL 2005 is it tends to cache old values and properties.  I hope this helps for anyone else getting this error.

    Thank you,

    Brian

    www.dealerbrand.com
    www.razzari.com

     

    Wednesday, January 17, 2007 8:50 PM
  • The part of the error that refers to a "linked server" is totally bogus.  I have seen this so many times when I am doing a local transformation, that this error is obviously a catch all which happens many different scenarios.  As far as having to delete a bunch of transformations fot this error to go away - that is just unacceptable.  (I know you are just the bearer of bad news, but there has to be a better way to deal with this error.)

    dcb99

    Wednesday, March 21, 2007 3:01 PM
  • Hi, We are facing a similar issue.

     

    We are migrating our production environment from 32-bit SQL Server 2005, Windows 2003 server to 64-bit SQL Server 2005, Windows 2003 server environment with 4GB of RAM. We have recompiled the SSIS packages to run in 64-bit mode and stored in database.  The packages work fine when we execute them directly from Integration service engine but if we call & execute the package from a job, it fails with error message as

     

    An OLE DB error has occurred. Error code: 0x80040E14.  An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80040E14  Description: "Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".".  An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80040E14  Description: "The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.".  An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80040E14  Description: "Reading from DTS buffer timed out.". 

     

    ~ Amit

    Thursday, March 29, 2007 8:36 AM
  • What kind of destination are you using?  If you are using a SQL Server Destination set the "timeout" property to 0.  If you are using the Ole Db Destination, then try some kind of different setting for CommandTimeout.  Otherwise, look to see if there is some blocking on the destination table going on which would prevent an insert.
    Friday, March 30, 2007 2:05 PM
  • I came accross the same problem and the eventual solution for me was to change the timeout of the connection to the error logging table. I had two tables, one for the data and one for capturing errors, although there were no errors in the import procedure, the procedure itself took over 30s to complete and this resulted in an error for the package.
    Wednesday, July 18, 2007 10:08 AM
  •  

    Thanks for the usefull posts. In my case, this error was due to Format issue with source datasource text file. I did not specify correct delimiter in Bulk Insert Task component. So, do check that also.

    Hope it helps someone Smile
    • Proposed as answer by PeterFoulkes Friday, October 07, 2011 5:35 PM
    Wednesday, January 16, 2008 10:50 AM
  • For whatever it's worth to future readers, I too solved this error by reducing the size of the SQLDestination's MaxInsertCommitSize.

     

     

    Thursday, July 31, 2008 5:24 PM
  • In my case lowering the timeout to zero (which I guess actually means no timeout) and unchecking the "Check Constrains" option did the trick. 
    I guess evaluating a number of keys makes the operation timeout.

    Good luck !
    Wednesday, October 01, 2008 2:41 PM
  • I encountered this error in SQL Server 2008 SP1 CU5. It showed up after I upgraded a 2005 package and ran it on a new 2008 server. The error message went away by lowering the commit size, however that was not a good fix. Examining the data in the destination table revealed that couple data points were missing for no apparent reason. Some fields contained garbage characters. So out of 1000 rows, there were about 10 data points missing from two rows, even though no errors or warnings were reported. Switching to an OLE DB destination was the eventual fix that got rid of the error message and that data corruption error.
    Thursday, December 03, 2009 10:19 PM
  • timeout to 0 on sql destination did it for me. was fine yesterday.
    Friday, March 19, 2010 6:32 AM
  • For me "Bulk Insert" worked on one server but not another.  Eventually I recreated the table with the same null/not null column attributes as the other server and the bulk insert then worked.
    Wednesday, June 23, 2010 2:00 PM
  • This worked for me. I set the timeout to 0.

    Thanks!

    Wednesday, March 23, 2011 7:10 PM
  • Thanks so much for this. I had been searching for ages trying to work out what could have caused the error. The error gives no clue that it is data related so i didn't even bother beginning with that until I read your post. 
    Friday, October 07, 2011 5:36 PM
  • Hi All,

    I was also getting Below error:

    [Bulk Insert Task] Error: An error occurred with the following error message: "Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.Cannot bulk load because the maximum number of errors (10) was exceeded.Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 11, column 1 (Time_Key).Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 10, column 1 (Time_Key).Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 9, column 1 (Time_Key).Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 8, column 1 (Time_Key).Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 7, column 1 (Time_Key).Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 6, column 1 (Time_Key).Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 5, column 1 (Time_Key).Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 4, column 1 (Time_Key).Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 3, column 1 (Time_Key).Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 2, column 1 (Time_Key).Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 1 (Time_Key).".

    What mistake I did that, RowDelimiter=Comma {,} & ColumnDelimiter={CR}{LF} But In File It was opposite.

    File Data;

    0,00:00:00,0,0,0,N,AM,0
    1,00:00:01,0,0,1,N,AM,1
    2,00:00:02,0,0,2,N,AM,2
    3,00:00:03,0,0,3,N,AM,3
    4,00:00:04,0,0,4,N,AM,4
    5,00:00:05,0,0,5,N,AM,5
    6,00:00:06,0,0,6,N,AM,6
    7,00:00:07,0,0,7,N,AM,7
    8,00:00:08,0,0,8,N,AM,8
    9,00:00:09,0,0,9,N,AM,9

    I changed it to RowDelimiter={CR}{LF} & ColumnDelimiter=Comma {,}. It was working Fine


    Thanks Shiven:) If Answer is Helpful, Please Vote

    Monday, December 10, 2012 1:38 AM
  • Where do you change the timeout to 0?
    Wednesday, July 17, 2013 5:35 PM
  • In "SQL Server Destination" data flow task properties
    Wednesday, August 28, 2013 6:15 AM