Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 SSIS and Import/Export (2005)
 Cryptic and Useless SSIS Error Messages

Author  Topic 

hismightiness
Posting Yak Master

164 Posts

Posted - 2007-08-22 : 13:58:41
First of all, please let me prefix this by saying AAARRRRRGGGGGHH!!!

Troubleshooting an SSIS package is not even close to easy. The error messages are incredibly cryptic and are anything but useful. It is absurd that for most of the errors that I get, I find myself putting the error codes into Google to find out what they mean and how to address them. Since there is indeed an known exception, why not include a "descriptive" description of the error?

Okay, enough with the venting. Sorry about that...

What I really came here to ask is this, what in the world does this error message REALLY mean? I have found nothing useful on the Internet so far. The resulting forums and blogs with the error code do not apply to what I am doing.

Error: The attempt to send a row to SQL Server failed with error code 0x80004005.


- - - -
- Will -
- - - -
http://www.strohlsitedesign.com
http://blog.strohlsitedesign.com/
http://skins.strohlsitedesign.com/

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-08-22 : 14:11:35
This maybe?
http://www.google.com/search?hl=en&safe=off&rls=com.microsoft%3Aen-US&q=%2B%220x80004005%22+%2B%22SSIS%22

Otherwise code 0x80004005 is often used for permission errors.



E 12°55'05.25"
N 56°04'39.16"
Go to Top of Page

tkizer
Almighty SQL Goddess

38200 Posts

Posted - 2007-08-22 : 14:13:35
Run SQL Profiler to determine what is occurring on the server-side.

Tara Kizer
Microsoft MVP for Windows Server System - SQL Server
http://weblogs.sqlteam.com/tarad/
Go to Top of Page

hismightiness
Posting Yak Master

164 Posts

Posted - 2007-08-22 : 14:28:02
quote:
This maybe?
http://www.google.com/search?hl=en&safe=off&rls=com.microsoft%3Aen-US&q=%2B%220x80004005%22+%2B%22SSIS%22

Otherwise code 0x80004005 is often used for permission errors.

Omitting the quotes and plus signs, I had the same query. And I have already visited all of the sites on the first two pages. Also, the permission suggestion would seem possible if it weren't for the fact that the user being used is a DBO, and there are 4 data transfers that occur in the same package just before this one without errors. Another possibility would have been permissions on the Temp directory for SQL Server, but I would need to once again revert to the fact that the first 4 go through fine.

quote:
Run SQL Profiler to determine what is occurring on the server-side.

Isn't the profiler running when I run the package? What else do you mean? If I am not understanding, and I doubt that I am, please tell me how to go about running the profiler for the SSIS package.

- - - -
- Will -
- - - -
http://www.strohlsitedesign.com
http://blog.strohlsitedesign.com/
http://skins.strohlsitedesign.com/
Go to Top of Page

tkizer
Almighty SQL Goddess

38200 Posts

Posted - 2007-08-22 : 14:39:41
No it isn't running while you run the package. You have to start it up. Do you have sysadmin privileges on the SQL Server? If so, run SQL Profiler and have it trace for exceptions and errors. Then cause the error so that the trace captures it. View the trace information to determine what is exactly going on.

If you don't have any experience with SQL Profiler, I'd suggest you contact the DBA of this system to help you out with this.

Tara Kizer
Microsoft MVP for Windows Server System - SQL Server
http://weblogs.sqlteam.com/tarad/
Go to Top of Page

hismightiness
Posting Yak Master

164 Posts

Posted - 2007-08-22 : 15:48:06
Well, I cannot wait until I get to a place that has a full-fledged DBA on the payroll! :)

After some trial and error (before reading your post), I was able to find and trap the offending columns that originally caused this error. However, I am now back to it. I will try the profiler myself in a few minutes, but I find it odd that my job will add 37,000 of 60,000 records and then throw and error that is supposed to be related to permissions...

Thanks for your help.

- - - -
- Will -
- - - -
http://www.strohlsitedesign.com
http://blog.strohlsitedesign.com/
http://skins.strohlsitedesign.com/
Go to Top of Page

hismightiness
Posting Yak Master

164 Posts

Posted - 2007-08-22 : 17:18:31
quote:
No it isn't running while you run the package. You have to start it up. Do you have sysadmin privileges on the SQL Server? If so, run SQL Profiler and have it trace for exceptions and errors. Then cause the error so that the trace captures it. View the trace information to determine what is exactly going on.

If you don't have any experience with SQL Profiler, I'd suggest you contact the DBA of this system to help you out with this.

WOW!!! The SQL Server Profiler is AWESOME! Though, being a pessimist, I am sure I will find plenty to not like about it soon... Thank you for shedding the light on this tool for me!

With that out of the way, I finally know what the error is that is stopping the data flow. It is:
Error: 9803, Severity: 16, State: 1
Invalid data for type "numeric".

However, I am kind of disappointed, because I do not know where to look for the offending data and how to handle it. (Maybe that is something not to like about the profiler...) I thought I had this handled in the Script Component. :(

How can I print out the offending record or data so I know how to handle this?

[EDIT]
By the way, in the SSIS package, the data flow appears to stop at row number 36652, but I have checked this row and a few hundred above and below this record and do not see any non-numeric characters in the columns that hold Integer or Decimal data.
[/EDIT]

- - - -
- Will -
- - - -
http://www.strohlsitedesign.com
http://blog.strohlsitedesign.com/
http://skins.strohlsitedesign.com/
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-08-22 : 17:23:34
What kind of source do you have?
Is it a csv-file?
Open it in excel and look in the offending column for a non-numeric value.



E 12°55'05.25"
N 56°04'39.16"
Go to Top of Page

hismightiness
Posting Yak Master

164 Posts

Posted - 2007-08-22 : 17:29:49
I guess I edited my post while you were replying. I did look. I looked a few hundred rows above and below the row number that was given in the SSIS package. Other than that, it will be me scrolling though 60,000 records. So far, I have not found any values that are not numeric in the appropriate columns.

Is there no way to print out the offending record?

- - - -
- Will -
- - - -
http://www.strohlsitedesign.com
http://blog.strohlsitedesign.com/
http://skins.strohlsitedesign.com/
Go to Top of Page

tkizer
Almighty SQL Goddess

38200 Posts

Posted - 2007-08-22 : 17:43:11
Here's how I do it:

Import the data into a new table that has the same columns as your table but the data type are all varchars. Then look at all of the columns that are supposed to be numeric and do this:

SELECT *
FROM YourNewTable
WHERE IsNumeric(YourColumn1) = 0

Or something like that...

Tara Kizer
Microsoft MVP for Windows Server System - SQL Server
http://weblogs.sqlteam.com/tarad/
Go to Top of Page

hismightiness
Posting Yak Master

164 Posts

Posted - 2007-08-22 : 18:25:03
What a great idea! I tried it, but initially it didn't have the results I was really looking for. I had to amend your example because the data import did not put NULL values into the empty fields. It just put an empty value.

SELECT *
FROM [dbo].[MyTableName]
WHERE (IsNumeric([MyFieldName]) = 0) AND NOT ([MyFieldName] = '')

This returned 0 rows for each of the numeric fields that I have. :( Any other ideas?

- - - -
- Will -
- - - -
http://www.strohlsitedesign.com
http://blog.strohlsitedesign.com/
http://skins.strohlsitedesign.com/
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-08-22 : 18:33:06
Do you have some engineering values, such as "1E02"?
ISNUMERIC yields 1 for this...

SELECT *
FROM MyTableName
WHERE MyFieldName LIKE '%[^0-9]%'


E 12°55'05.25"
N 56°04'39.16"
Go to Top of Page

hismightiness
Posting Yak Master

164 Posts

Posted - 2007-08-23 : 08:17:16
Once again, that is a great suggestion! I like that query. However, there must be something else going on. My queries have not been fruitful in finding the offending values. One of the columns is a monetary value, so I ammended your example to the following:


DECLARE @TableName NVARCHAR(150), @FieldName NVARCHAR(150);

SELECT @TableName = 'table1';
--SELECT @FieldName = 'field1';
--SELECT @FieldName = 'field2';
SELECT @FieldName = 'field3';

EXEC('SELECT *
FROM [dbo].[' + @TableName + '] t
WHERE t.[' + @FieldName + '] LIKE ''%[^0-9.]%''');


I would then comment in/out the field that I am querying at the moment.

This problem is highly frustrating, as I am sure you can imagine. Perhaps you can help me another way... I can send you a link to the CSV file that is giving me problems. However, I would prefer to not post it publicly. I am going to e-mail the link to you through the forum.

In addition, here is the script to create the table I have been attempting to load this file into. This is only a temporary table, as the data then gets parsed again and fed into another table, then this table is dropped until the next time the data is generated.


CREATE TABLE [dbo].[hotel_list_TEMP](
[vendor_id] [int] NOT NULL,
[brand_code] [nvarchar](50) NULL,
[hotel_name] [nvarchar](150) NOT NULL,
[address_1] [nvarchar](150) NOT NULL,
[address_2] [nvarchar](150) NULL,
[city] [nvarchar](50) NOT NULL,
[state_code] [nvarchar](50) NULL,
[country_code] [nvarchar](50) NOT NULL,
[zipcode] [nvarchar](15) NULL,
[latitude] [nvarchar](50) NULL,
[longitude] [nvarchar](50) NULL,
[phone] [nvarchar](50) NULL,
[hotrate] [bit] NOT NULL CONSTRAINT [DF_hotel_list_TEMP_hotrate] DEFAULT ((0)),
[video] [bit] NOT NULL CONSTRAINT [DF_hotel_list_TEMP_video] DEFAULT ((0)),
[overview] [bit] NOT NULL CONSTRAINT [DF_hotel_list_TEMP_overview] DEFAULT ((0)),
[reviews] [bit] NOT NULL CONSTRAINT [DF_hotel_list_TEMP_reviews] DEFAULT ((0)),
[map] [bit] NOT NULL CONSTRAINT [DF_hotel_list_TEMP_map] DEFAULT ((0)),
[price_band_code] [nvarchar](50) NULL,
[star_rating] [int] NOT NULL CONSTRAINT [DF_hotel_list_TEMP_star_rating] DEFAULT ((-1)),
[low_rate] [decimal](10, 2) NULL,
[currency] [nvarchar](5) NULL,
[description] [nvarchar](max) NULL,
[amenities] [nvarchar](1000) NULL
) ON [PRIMARY]


- - - -
- Will -
- - - -
http://www.strohlsitedesign.com
http://blog.strohlsitedesign.com/
http://skins.strohlsitedesign.com/
Go to Top of Page

hismightiness
Posting Yak Master

164 Posts

Posted - 2007-08-23 : 08:21:47
I have sent out the links to both of you. Thank you so much for helping me. I really appreciate it!

BTW, tkizer, nice wedding photo. (Belated) Congratulations! Also, I am originally from San Diego - how about them Chargers?! :)

Peso, I would compliment your photo, but that would just be weird... being a guy and all. Hehehe...

- - - -
- Will -
- - - -
http://www.strohlsitedesign.com
http://blog.strohlsitedesign.com/
http://skins.strohlsitedesign.com/
Go to Top of Page

hismightiness
Posting Yak Master

164 Posts

Posted - 2007-08-23 : 10:11:07
Here is the error message list I get every time I run this... (I added line breaks to make it more readable.)
quote:
[SqlServer5 [1435]]
Error: The attempt to send a row to SQL Server failed with error code 0x80004005.



[DTS.Pipeline]
Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED.
The ProcessInput method on component "SqlServer5" (1435) failed with error code 0xC02020C7.
The identified component returned an error from the ProcessInput method.
The error is specific to the component, but the error is fatal and will cause the Data Flow task
to stop running. There may be error messages posted before this with more information about the failure.



[SqlServer5 [1435]]
Error: SSIS Error Code DTS_E_OLEDBERROR.
An OLE DB error has occurred.
Error code: 0x80040E14.
An OLE DB record is available.
Source: "Microsoft SQL Native Client"
Hresult: 0x80040E14
Description: "The statement has been terminated.".
An OLE DB record is available.
Source: "Microsoft SQL Native Client"
Hresult: 0x80040E14
Description: "Invalid data for type "numeric".".


[FlatFile1 [1012]]
Error: The attempt to add a row to the Data Flow task buffer failed with error code 0xC0047020.



[DTS.Pipeline]
Error: SSIS Error Code DTS_E_THREADFAILED.
Thread "WorkThread0" has exited with error code 0xC02020C7.
There may be error messages posted before this with more information on why the thread has exited.



[DTS.Pipeline]
Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.
The PrimeOutput method on component "HOTEL_LIST1" (1012) returned error code 0xC02020C4.
The component returned a failure code when the pipeline engine called PrimeOutput().
The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.
There may be error messages posted before this with more information about the failure.



[DTS.Pipeline]
Error: SSIS Error Code DTS_E_THREADFAILED.
Thread "SourceThread0" has exited with error code 0xC0047038.
There may be error messages posted before this with more information on why the thread has exited.

As you can see, it keeps complaining about a "numeric" data type value. There are only 3 fields that end up being numeric, and you can see their structure in the CREATE TABLE statement above. Ugh!

- - - -
- Will -
- - - -
http://www.strohlsitedesign.com
http://blog.strohlsitedesign.com/
http://skins.strohlsitedesign.com/
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-08-23 : 11:51:03
It is this lo_rate that kills you!

11999769192.00



E 12°55'05.25"
N 56°04'39.16"
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-08-23 : 11:51:52
This is the associated record
id	brand	name	address1	address2	city	state	country	zip	latitude	longitude	phone	online_bookings	hotrates	video	brochure	overview	reviews	map	price_band	star_rating	star_source	amenities	popularity_grade	collections_grade	desc	change_date	lo_rate	hi_rate	currency	sabre_id
10226698 LM Imperial Aryduta Hotel N Cou 401 Bulevar Jend Sudirman Lip Jakarta ID 62-21-5460-101 Y N N N Y N N F X Imperial Aryaduta Hotel And Country Club Is Just Minutes Away From Jakarta S Central Business District The Imperial Century Hotel And Resort Is A Tranquil 08/18/2007 04:01:48 11999769192.00 13599738417.60 IDR 66249



E 12°55'05.25"
N 56°04'39.16"
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-08-23 : 11:52:17
It seems you need MONEY as datatype, not decimal(8,2), for this column.



E 12°55'05.25"
N 56°04'39.16"
Go to Top of Page

hismightiness
Posting Yak Master

164 Posts

Posted - 2007-08-23 : 12:21:40
Uhm... I found the offending value. It was a value in the low_rates column that had more than 10 numbers before the decimal. I was not expecting a value to be so high. Thanks again!

- - - -
- Will -
- - - -
http://www.strohlsitedesign.com
http://blog.strohlsitedesign.com/
http://skins.strohlsitedesign.com/
Go to Top of Page

hismightiness
Posting Yak Master

164 Posts

Posted - 2007-08-23 : 16:40:20
That is odd. When I last replied to you, Peso, none of your posts where here. I never received a notification until just now. :( Thanks for your assistance. You were right on target with that one.

- - - -
- Will -
- - - -
http://www.strohlsitedesign.com
http://blog.strohlsitedesign.com/
http://skins.strohlsitedesign.com/
Go to Top of Page

tkizer
Almighty SQL Goddess

38200 Posts

Posted - 2007-08-23 : 17:06:15
You must've had the window open then and didn't hit refresh before you replied.

Tara Kizer
Microsoft MVP for Windows Server System - SQL Server
http://weblogs.sqlteam.com/tarad/
Go to Top of Page
    Next Page

- Advertisement -