Solved

SSIS 2005 - How to identify the colum causing the error in OLEDb Destination component

Posted on 2011-03-12
6
956 Views
Last Modified: 2012-05-11
Can anyone tell me how to identify the specific column name that is causing an error when attempting to insert a data flow into an OLEDB Destination component?  I am attempting to create a lot which specifies the error that occurred and the field name that caused the error.  I am able to get the column ID, but I don't know how to translate this into a meaningful column name.  Example:  I get an "error field" value of 6581.  I don't know which field is represented by 6581, so I don't know what column is causing the problem.  I checked the sys.columns and sys.all_columns views to see if the column_id referenced by SSIS was perhaps one of those values, but I could not find anything useful there.

Below is a sample of code that is our best attempt at the moment to figure this out, but it seems really ugly.  I'm using a script task and hard-coding to convert the error column id into an error column name.

I'm sure there is a better way to do this with no hard-coding.

P


Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
        '
        ' Add your code here
        '

        Row.ErrorDescription = ComponentMetaData.GetErrorDescription(Row.ErrorCode)
        If Row.ErrorColumn = 6581 Then
            Row.ErrorColumnName = "SUBMISSION_ID"
        Else
            Row.ErrorColumnName = Row.ErrorColumn.ToString()

        End If
    End Sub

End Class

Open in new window

0
Comment
Question by:jbaird123
  • 4
  • 2
6 Comments
 
LVL 17

Expert Comment

by:dbaSQL
ID: 35119809
0
 

Author Comment

by:jbaird123
ID: 35123459
dbaSQL:  Thanks for the information, but this does not quite answer my question.  The first article explains how to get the error description - which I am already doing.  The second article appears to be showing how to extract the data from all fields in the data flow, but it does not show how to identify which column caused the error.

There is an ErrorColumn field which identifies the column that caused the error, but the value in this field is something cryptic like "6851".  I don't know how to figure out which field in the data flow is represented by "6851".  

Can you explain how to figure this out?  It seems like there should be an easy solution for something like this.  

Thanks.
0
 
LVL 17

Accepted Solution

by:
dbaSQL earned 500 total points
ID: 35123620
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 17

Assisted Solution

by:dbaSQL
dbaSQL earned 500 total points
ID: 35123630
Also looks like these guys did the same thing you're trying to do:
http://www.sqlservercentral.com/Forums/Topic456102-148-1.aspx
0
 

Author Closing Comment

by:jbaird123
ID: 35159053
Thank you. The code at http://eod.codeplex.com/ is very helpful for implementing these solutions.
0
 
LVL 17

Expert Comment

by:dbaSQL
ID: 35159133
Excellent.  Glad you got it worked out.
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

In this article I will describe the Backup & Restore method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now