Cannot fetch a row from OLE DB provider "BULK" for linked server
-
Wednesday, November 15, 2006 7:01 AMI 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.".
All Replies
-
Monday, November 20, 2006 1:43 AM
lowering the maxcommitsize on the SQL destination seems like it fixed this problem. -
Monday, November 20, 2006 1:57 AMModerator
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
-
Wednesday, January 17, 2007 8:50 PM
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, March 21, 2007 3:01 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
-
Thursday, March 29, 2007 8:36 AM
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
-
Friday, March 30, 2007 2:05 PMWhat 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.
-
Wednesday, July 18, 2007 10:08 AMI 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, January 16, 2008 10:50 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
- Proposed As Answer by PeterFoulkes Friday, October 07, 2011 5:35 PM
-
Thursday, July 31, 2008 5:24 PM
For whatever it's worth to future readers, I too solved this error by reducing the size of the SQLDestination's MaxInsertCommitSize.
-
Wednesday, October 01, 2008 2:41 PMIn 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 ! -
Thursday, December 03, 2009 10:19 PMI 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.
-
Friday, March 19, 2010 6:32 AMtimeout to 0 on sql destination did it for me. was fine yesterday.
-
Wednesday, June 23, 2010 2:00 PMFor 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, March 23, 2011 7:10 PM
This worked for me. I set the timeout to 0.
Thanks!
-
Friday, October 07, 2011 5:36 PMThanks 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.
-
Monday, December 10, 2012 1:38 AM
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,9I changed it to RowDelimiter={CR}{LF} & ColumnDelimiter=Comma {,}. It was working Fine
Thanks Shiven:) If Answer is Helpful, Please Vote

