Error 30456: 'DirectRowTo&&<Output Name&&> Is Not A Member Of 'ScriptComponent....'
Nov 12, 2007
Dear all,
I have a problem writing to the output of my script. I am using the Script Component. I tried various examples but still cannot write to an output of the Script Component.
Scenario: Single input. Several outputs where the data is split based on a specific input value. I use synchronized Input/Output and the DirectRowTo<OutputName> to direct the row to a specific output
Outputs :
Output_Matched
Output_Unmatched_Agresso
Output_Unmatched_Oracle
Output_Unmatched_Multiple
The script:
Public Overrides Sub InputMerged_ProcessInputRow(ByVal Row As InputMergedBuffer)
'
' Add your code here
'
Select Case Row.Countall
Case 1
If Row.Originate = 1 Then
Row.DirectRowToOutput_Unmatched_Agresso()
Else
Row.DirectRowToOutput_Unmatched_Oracle()
End If
Case 2
Row.DirectRowToOutput_Matched()
Case Else
Row.DirectRowToOutput_Unmatched_Multiple()
End Select
End Sub
All the Row.DirectTo..... are underlined with the popup-message saying...'DirectRowTo....' is not a member of 'ScriptComponent....'
Kind Regards
Carl.
View 3 Replies
ADVERTISEMENT
Oct 23, 2007
I have an SSIS Packaget that worked a month ago and when I ran it today it didn't work. It's failing in the ScriptComponent in a DataFlow that I created as a Destination. The only thing the script does is record any value for a particular column and on the PostExecute method, writes the last instance of that column to a user variable in the Package. Here's the code. There is a string variable that I use to hold the column's value for each row received.
Public Class ScriptMain
Inherits UserComponent
Dim s_remit_addr As String
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Me.s_remit_addr = Row.remitaddr.ToString()
End Sub
Public Overrides Sub PostExecute()
Dim variables As Variables
Variables.gsremitaddr = Me.s_remit_addr
MyBase.PostExecute()
End Sub
It will always bomb in PostExecute with the error that the variable User::gs_remit_addr is not the same type as the variable I'm using (s_remit_addr); HOWEVER, the user variable is of type String and it worked a month ago. Does anyone have any idea how I can fix it?
View 3 Replies
View Related
Mar 23, 2007
Hi all,
I installed SQL 2005 SP2 + ReportServices Add-in for Sharepoint (WSS 3.0). All it's OK until I try to grant database access in the Sharepoint Central Admin site.
I setup the Reporting Services Integration (Manage integration settings). I use the default SQL instance, I put the USERNAME and the PASSWORD of my ADMIN account in the ENTER CREDENTIALS windows.. When I click the "OK" button, I receive always the error ...
"A new member could not be added to a local group because the member has the wrong account type"
I tried a lot of things... without success.
Is there someone who can help me....
PS: There is no error in the LOG
Thanks
View 18 Replies
View Related
Mar 23, 2007
Hi all,
I installed SQL 2005 SP2 + ReportServices Add-in for Sharepoint (WSS 3.0). All it's OK until I try to grant database access in the Sharepoint Central Admin site.
I setup the Reporting Services Integration (Manage integration settings). I use the default SQL instance, I put the USERNAME and the PASSWORD of my ADMIN account in the ENTER CREDENTIALS windows.. When I click the "OK" button, I receive always the error ...
"A new member could not be added to a local group because the member has the wrong account type"
I tried a lot of things... without success.
Is there someone who can help me....
PS: There is no error in the LOG
Thanks
View 4 Replies
View Related
Oct 23, 2014
I need to create a member that one of its Attributes (maybe my term is wrong) is a reference to another entity member named group
the code
createRequest.Members.MemberType = MemberType.Leaf;
createRequest.Members.Members = new System.Collections.ObjectModel.Collection<Member> { };
Member aNewMember = new Member();
aNewMember.MemberId = new MemberIdentifier() { Name = uag.groupName, MemberType = MemberType.Leaf };
[code]....
"The attribute data type is not valid".Is it wrong to add the reference as attribute? How can I embed the reference in the new member?
View 4 Replies
View Related
Sep 24, 2015
I have a table where I need to delete rows if the member does not exists in the member table. Will the following syntax work ?
Delete T
FROM Event_Temp_Lead_Screen T
left join member M on ( M.MemberID = T.MemberID )
where
T.Gender is NULL
View 9 Replies
View Related
Aug 30, 2006
Hi
I have Lookup task to determine if source data should be updated to or insert to the customer table. After Lookup task, the Error Output pipeline will redirect to insert new data to the table and the Output pipeline will update customer table. But these two tasks will be processing at the same time which causes stall on the process. Never end.....
The job is similiart to what Slow Changing Dimention does but it won't update the table at the same time.
What can I do to avoid such situation?
Thanks in advance,
JD
View 4 Replies
View Related
May 15, 2006
Hi,
I get this timeout error from the member login page. It does not happen
always. Sometimes when I enter the email and password and try to login,
it will take forever and then it throws a timeout error. "Timeout
expired. The timeout period elapsed prior to completion of the
operation or the server is not responding."
I went into our server, started the sql profiler and tried to run the
login sproc manually from the query analyzer. It took 46 secs to finish
running the query. I checked the profiler, there was nothing much going
on, I don't think there is any resource bottleneck.
I went back to the website and I tried to login, it worked fine. I
checked the query analyzer again, this time it took 0 secs (or fraction
of a sec?) to execute the sproc.
It looks like it takes a long time to run the sproc the "first" time,
from then on it only takes less than a sec to execute the sproc. How do
I solve this problem?
The users table has only 50,000 users. The sproc is only a couple of lines. The user table is indexed on userid and email.
------------------------------
CREATE PROCEDURE [dbo].[proc_userverifylogin]
@email varchar(100), @pass varchar(50)
AS
IF EXISTS (SELECT * FROM users WHERE email = @email AND pass = @pass)
BEGIN
UPDATE users SET lastlogin = GETDATE() WHERE email = @email
SELECT userid, fname, state FROM users WHERE email = @email
END
------------------------------
Thanks.
View 3 Replies
View Related
Apr 11, 2007
I would like to use a custom build class library written in C# inside of the vb script. Does anyone know how to add the reference to the scriptComponent project once you open script through design script button?
By the way I am using visul studio 2005.
Thanks!
View 9 Replies
View Related
Apr 17, 2007
I have a table that contains a column for a calcuated member (x) of type decimal number. When I tried to display the total of this calculated member in the table footer (=sum(x)), I am getting "#Error" instead of the sum of all displayed calculated values.
Column X
--------------
0
0.67
0.10
0.23
#Error (footer cell, expression -> =Sum(x))
=First(x), =Last(x) and =Max(x) worked fine, not sure why Sum failed. Please help...
Thanks.
View 8 Replies
View Related
May 17, 2006
Dear all,
I've created a Data Flow scenario as follow:
At first I've got a Flat File Source and then Script Component Task and then OleDb Destination, linked among them by arrows, of course. When I run the SSIS all of them is successfully executed except the last task. Why? I don't know but it isn't awared of nothing.
649 rows are passed to Script Component from the file but they aren't going to my Sql table.
Let me know any advice or thought regarding ths.
Thanks a lot,
View 2 Replies
View Related
Aug 22, 2007
Hello,
I'm using SSIS variable in following scenario:
I need to set variable during runtime in script component and then use it to create and fill new column in my Data Flow.
So I'm using ReadWriteVariable of script component, and override PostExecute() method in ScriptMain where I set SSIS variable. Later in same data flow I need to use that variable to insert data into DB. However OLE DB Destination is not supporting parameters (I think) so I figured out that I'll use derived column and specify variable there and ADD AS NEW COLUMN.
Then I map new columnt to proper field in DB and everything should be ok.
It is not. Variables are working really strange in SSIS. Derived Column is not taking variable at runtime but before execution. So my new columns are set to whatever I'll set in designer variables window at design time. Am i doing something wrong?
It would be very stupid to provide variables in Derived Column component if it is imposible to change their values at runtime. (I could do the same using constant in Derived Columna and Variables are not needed then)
View 8 Replies
View Related
Jan 30, 2007
I am trying to set the TaskResult in my DataFlow ScriptComponent, but the Dts object is not visible.
Dts.TaskResult = Dts.Results.Failure
The above line works fine in my EventHandler script, but the Dts object seems to be out of scope when I try to use it from my Dataflow.
One thing I have noticed is that my DataFlow ScriptComponent inherits from 'UserComponent'
I have tried adding Microsoft.SqlServer.ScriptTask reference, but can not see it in the reference list - Strange?
Any help appreciated.
Regards,
Paul.
View 1 Replies
View Related
Dec 11, 2006
I'm having trouble with a script component in which I'm trying to use two ReadOnlyVariables. If I use only one of the two variables, everything works without issue. If I use both of the variables (as part of a comma-delimited list) I get the following:
The variable cannot be found. This occurs when an attempt is made to retrieve a variable from the Variables collection on a container during execution of the package, and the variable is not there. The variable name may have changed or the variable is not being created.
I don't believe the variables themselves are the problem. Both are scoped to the package level and I can use either of them if I have it as the only variable. Seems bug-like, but thought I'd get some ideas before pursuing that route.
View 11 Replies
View Related
Jul 21, 2006
Hi,
I am using OleDB source as well as Script component in my package. Both these component are using same database. But as of now I am using two connections for each of this comp as I am unable to make use of the OLE DB connection in script component.
How can I solve this. I mean how can I use the the OLE DB conn which I used in OLEDB Source comp in the Script Component.
Any help will be greatly appreciated.
Thanks
View 1 Replies
View Related
Jun 9, 2006
Hi there,
This seems a bug to me. Or does anyone has a logical explanation that escapes me?
When in SSIS Designer Version 9.00.1399.00 I add output columns (numeric 4,0 ) to a scriptcomponent and fill them with valid numeric data in thescript I get a database error 'invalid number' when I use these columns in an OLE db Command-transformation . This errormessage disappears when I replaces those columns by a dataconversion to the datatype they originally have.
Derived Column Name Derived Column Expression
STATUS_DEF Replace 'STATUS_DEF' (DT_NUMERIC,4,0)STATUS_DEF
Maybethis info is usefull for somebody else who can't figure out wathever he's doing wrong.
Paul Baudouin
View 1 Replies
View Related
May 1, 2007
Hi,
I'm using MS Report Designer 2005 and have created a report that uses a cube, with a dimension set up to convert null values to unknown (nullProcessing = UnknownMember).
When I create a parameter using the checkbox in the graphical design mode's filter pane, Report Designer automatically sets the constrained flag, eg:
STRTOMEMBER(@DimOrganisationBUSADDRSTATE, CONSTRAINED).
When running the report and selecting the 'Unkown' value from the parameter list, the error 'the restrictions imposed by the CONSTRAINED flag in the STRTOSET function were violated' occurrs.
How can I prevent the constrained flag from being used, or am I doing something wrong with converting null values to 'Unknown'?
Thanks
View 10 Replies
View Related
May 14, 2008
i have a weird situation here, i tried to load a unicode file with a flat file source component, one of file lines has data like any other line but also contains the character "ÿ" which i can't see or find it and replace it with empty string, the source component parses the line correctly but if there is a data type error in this line, the error output for that line gives me this character "ÿ" instead of the original line.
simply, the error output of flat file source component fail to get the original line when the line contains hidden "ÿ".
i hope you can help me with issue.
Thanks in advance.
View 5 Replies
View Related
Jul 19, 2006
Hi guys i'm a newbie to this forums so hopefully i've posted in the right place, so here goes .....
My company has been given a CMS to look at, thing is everything seems to be working except for this beasty stored procedure.. the purpose of this stored procedure is to gather data and output it as xml, but for some reason and i havent a clue why - i am getting an error stated below - i have also attahced the stored procedured in hopes of some kind gurus can help me
Appreciate any and all help guys
andy
ERRROR MESSAGE:
Microsoft OLE DB Provider for SQL Server error '80040e21'
Parent tag ID 1 is not among the open tags. FOR XML EXPLICIT requires parent tags to be opened first. Check the ordering of the result set.
View 2 Replies
View Related
Apr 23, 2007
I would like to get the actual name of the column that has the error. Using the ErrorColumn (int value) I thought there would be some type of lookup collection based on the input (like column names)- if there is, can someone tell me how to get to it?
I have my error output writing to a stored proc, but instead of "32226" as the column name, I need to have the actual name of the column. I am going from Flat File to OLE DB Destination. I have a Script Component getting the output to write to my sproc, and I just need to get the column name.
Suggestions?? Thanks
View 19 Replies
View Related
Apr 11, 2007
I used the oTable.Script method to output the DDL for a Sql Server 2000 user defined table. The result is DDL with an error. I don't think the problem is with DMO itself so I posted this here. Note the 'TEXTIMAGE_ON ' clause. The table does not have a text column, and the DDL will not execute.
CREATE TABLE [MyTable] (
[FilterID] [int] IDENTITY (1, 1) NOT NULL ,
[LoanAgentID] [int] NOT NULL ,
[Key] [varchar] (16) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[IsActive] [int] NOT NULL ,
[tStamp] [timestamp] NOT NULL ,
[Formula] [varchar] (4000) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[_AuditAddDt] [datetime] NOT NULL ,
[_AuditUpdateDt] [datetime] NOT NULL ,
CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED
(
[FilterID]
) WITH FILLFACTOR = 90 ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Server: Msg 1709, Level 16, State 1, Line 1
Cannot use TEXTIMAGE_ON when a table has no text, ntext, or image columns.
Any ideas?
Thanks!
View 3 Replies
View Related
Nov 8, 2007
What is the purpose of the error output for an OLE DB Source component. Any sql that would cause an error such as converting a character to a number or division by zero causes the OLE DB Source component to fail regardless of the settings for the error output. Works perfect for OLE DB Destination but I cannot come up with any scenario where it would work for the OLE DB Source component.
Thanks in advance,
Brad
View 10 Replies
View Related
Jun 25, 2007
I am using SSIS to load a lot of Excel, csv files. Some of the files will fail for various formating/validation reason. Is it a good way to capture the error and generate a nice error report so the provider can read it easily and correct the data files?
The error log of the package is difficult to read.
View 1 Replies
View Related
Aug 3, 2007
In the Input and Output Properties tab under Advance Editor for OLE DB Source, I cannot remove columns. I copied this Source from a standard template and have made the normal changes to make it work. However I keep getting this error...Error: 0xC020837B at Load Server Security, OLE DB Source [1]: The output column "DBName" (1632) on the error output has no corresponding output column on the non-error output.Error: 0xC004706B at Load Server Security, DTS.Pipeline: "component "OLE DB Source" (1)" failed validation and returned validation status "VS_ISBROKEN".DBName of course is one of the columns that no longer exist, but I can't remove. Whenever I try to remove one of the columns, I get this error...Error at Load Server Security [OLE DB Source[1]]: The column cannot be deleted. The component does not allow columns to be deleted from this input or output. Is there anything that I can do to remove the columns? Is there just a simple setting that I can change to make this work?
View 6 Replies
View Related
May 17, 2007
Hello,
I realize I have a question about what constitutes an "error" for an error output.
For example, a flat file source has an error output for "bad rows", that is, when it encounters "unexpected data". What specifically is "unexpected data"? Is this documented somewhere?
Another example would be an OLE DB source that uses a query to retrieve row. This too, has an error output, but I realize I have no clue what would constitute bad data from a table. I mean, data in a table is just data, so what would constitute an error from an OLE DB source? I can't think of one thing. Where are these "rules" documented, if anywhere?
Thanks
View 1 Replies
View Related
Apr 10, 2007
Hello,
I have a simple SSIS package running under SQL 2005 SP2a.
In the data flow, I have several lookup transforms with error outputs. Each error output links to its own audit transform and then writes data to its own flat file destination.
After the data flow is complete, my control flow will then use a ForEach file container to mail the flat files to the source system data owners with a message about incomplete/inconsistent source data. I am effectively providing feedback to the source owners so that we may improve the quality of data that gets sent to us.
My problem is that the flat file (which contains the offending rows) seems to get created everytime even when there were no errors in the lookup in question. Thus my ForEach container will always send a mail to the data source teams even if there were no errors as the error flat file will always exist albeit empty.
How can I stop this happening? How can I only create flat files when there really were errors? How can I prevent the source teams from receiving feedback emails when there is no reason to?
Thanks in advance
MGale1
View 1 Replies
View Related
Jan 29, 2001
I want to automate the dbcc checkdb process. I create a temp table called #CheckDbTbl and run the following command:
INSERT INTO #CheckDBTbl
dbcc checkdb(MyDbName) with tableresults
I plan to send myself an email if any problems are found.
Does anyone know what Error numbers or Levels or anything else I should look for in the #CheckDBTbl that will tell me a problem exists? Right now I'm only checking for: Level >= 16.
Many thanks for your responses!
-bh
View 1 Replies
View Related
Sep 15, 2004
I have a c# app. This is a piece of code out of a stored proc. it is erroring: Procedure or function getTopParentDealerFromChildDealer has too many arguments
OR
@dealerID is not a parameter for procedure getTopParentDealerFromChildDealer.(if I put ",@dealerID=@parentID)
I have tried all combinations "@dealerID",@dealerID=@parentID" etc.
BEGIN
--get the top parent dealerID
DECLARE @parentID INT
SET @parentID = 0
EXEC getTopParentDealerFromChildDealer @dealerID, @parentID OUTPUT
IF (@parentID>0)
BEGIN
------------------------------------------------------
here is the getTopParentDealerFromChildDealer as called
------------------------------------------------------
ALTER PROCEDURE getTopParentDealerFromChildDealer @childDealerID INT
AS
SET NOCOUNT ON
DECLARE @dealerID INT
DECLARE @parentID INT
SET @dealerID = 0
SELECT @dealerID = dealerParentID from dealerRelations where dealerChildID = @childDealerID
WHILE @dealerID <> 0
BEGIN
declare @temp INT
set @temp = @dealerID
IF (SELECT count(dealerParentID) FROM dealerRelations WHERE dealerChildID = @temp)>=1
BEGIN
SELECT @dealerID = dealerParentID
FROM dealerRelations where dealerChildID = @temp
END
ELSE
BEGIN
SET @dealerID=0
set @parentID = @temp
END
END
if (@parentID IS NULL)
BEGIN
set @parentID = 0
--set @parentID = @dealerID
END
return @parentID
I don't usually use stored procedures but the job I have taken over previously used them. Any help would be much appreciated.
Thanks
View 3 Replies
View Related
Dec 12, 2005
I have the following stored procedure working with an Access 2000 front end. The output parameters returned to Access are both Null when the record is successfully updated (ie when @@Rowcount = 1), but the correct parameters are returned when the update fails. I'm a bit new to using output parameters, but I have them working perfectly with an insert sproc, and they look basically the same. What bonehead error have I made here? The fact that the record is updated indicates to me that the Commit Trans line is being executed, so why aren't the 2 output parameters set?
TIA
EDIT: Solved, sort of. I found that dropping the "@ResNum +" from "@ResNum + ' Updated'" resolved the problem (@ResNum is an input parameter). This implies that the variable lost its value between the SQL statement and the If/Then, since the SQL correctly updates only the appropriate record from the WHERE clause. Is this supposed to happen? I looked in BOL, and if it's addressed there I missed it.
CREATE PROCEDURE [procResUpdate]
Various input parameters here,
@RetCode as int Output, @RetResNum as nvarchar(15) Output
AS
Declare @RowCounter int
Begin Tran
UPDATE tblReservations
SET Various set statements here, LastModified = @LastModified + 1
WHERE ResNum = @ResNum AND LastModified = @LastModified
SELECT @RowCounter = @@ROWCOUNT
If @RowCounter = 1
Begin
Commit Tran
Select @RetCode = 1
Select @RetResNum = @ResNum + ' Updated'
End
Else
Begin
Rollback Tran
Select @RetCode = 0
Select @RetResNum = 'Update Failed'
End
GO
View 3 Replies
View Related
May 16, 2008
Am new to SSIS and developing a component which pulls data from a staging table and drops them into another table in the same database.
Am using a
1) OLE DB Source to get the data from the staging table.
2) OLE DB Destination to insert or push the data into another table of the same database.
3) Script component to get the error rows and to update the staging table column with a flg value.
The rows that throw an error like primary key violation, or any other error should be redirected to the script component and the process should get completed.
The Error Output of the OLE DB Destination doesnt show any columns to be selected for Redirect Row option
The script executes without any error and the records are shown in error path but the records are not updated in the DB.
This is what i have in the script
Public Class ScriptMain
Inherits UserComponent
Dim sqlConn As SqlConnection
Dim sqlCmd As SqlCommand
Dim connMgr As IDTSConnectionManager90
Dim txnIdParam As SqlParameter
Dim errorDescParam As SqlParameter
Public Overrides Sub AcquireConnections(ByVal Transaction As Object)
connMgr = Me.Connections.ErrorConnection
sqlConn = CType(connMgr.AcquireConnection(Nothing), SqlConnection)
End Sub
Public Overrides Sub PreExecute()
sqlCmd = New SqlCommand("UPDATE STG_TRANSACTION SET ERROR_FLG='Y' AND ERROR_DESC=@errorDescParam WHERE TXN_ID=@txnIdParam ")
fueltxnIdParam = New SqlParameter("@txnIdParam", SqlDbType.BigInt)
errorDescParam = New SqlParameter("@errorDescParam", SqlDbType.VarChar)
sqlCmd.Parameters.Add(errorDescParam)
sqlCmd.Parameters.Add(txnIdParam)
End Sub
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
sqlCmd.Parameters("@txnIdParam").Value = Row.TXNID
sqlCmd.Parameters("@errorDescParam").Value = Row.ErrorCode
End Sub
End Class
Pleas let me know the solution and any help will be appreciated.
View 3 Replies
View Related
Feb 7, 2008
Hello,
Is there a way that I can set up an error handler on a DataFlow so that errant rows within the DataFlow are delivered to a user via email?
I'm looking for Primary Key Violations. In this case, there are two columns of data involved in the DataFlow (AcctCode, RebateRate).
Thank you for your help!
cdun2
View 11 Replies
View Related
Jun 20, 2007
When configuring error output, I want everything that is good in the row to make it to the destination, and then the offending column that is causing an error to be set to NULL, and then sent to the destination as well. In addition, I want to take the offending column's data, and route it over to an error holding table. I know about the ability to redirect the whole row, but I just sort of want to redirect just that column. For example....
Have a table with 5 columns
col1 int null,
col2 int null,
col3 char(3) null,
col4 bit null,
col5 int null
My data flow loads data from a flat file and has a record that looks like this
1 5 ABC R 3
I want the row to make it to the destination as follows....
1 5 ABC NULL 3
Then the offending data needs to go over to my error table
err# errcolumn errdata errdesc
1 col4 R Could not convert "R" to bit data type
Any way to do this?
View 5 Replies
View Related
Jun 16, 2006
I am developing a custom destination component and I have encountered a few areas where there seems to be a lack of helpful documentation and examples.
1. I have not been able to find any information on or examples of creating custom destinations with an error output. The OLE DB Destination has an error output so I investigated the input and error output properties in the advanced editor and found that the OLE DB Destination error output is synchronous with the input (its SynchronousInputID matches the input's ID) and has its ExclusionGroup value set to 1. Using this information, I modeled my error output after the OLE DB Destination.
ProvideComponentProperties:
AddErrorOutput(ERROR_OUTPUT_NAME, input.ID, 1);
ProcessInput:
int errorOutputID = -1;
int errorOutputIndex = -1;
GetErrorOutputInfo(ref errorOutputID, ref errorOutputIndex);
...
buffer.DirectErrorRow(errorOutputID, 0, errorOutputIndex);
Checking the input and error output properties in the advanced editor for my custom destination component I find the following:
Input
-----
ID: 3515
Error Output
------------
ExclusionGroup: 1
ID: 3516
IsErrorOut: True
SynchronousInputID: 3515
Shortly after I start my SSIS package and it encounters an error row, I get the following exception:
[My Destination Adapter 1 [3512]] Error: System.ArgumentException: Value does not fall within the expected range. at Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSBuffer90.DirectErrorRow(Int32 hRow, Int32 lOutputID, Int32 lErrorCode, Int32 lErrorColumn) at Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer.DirectErrorRow(Int32 outputID, Int32 errorCode, Int32 errorColumn) at MyDestination.ProcessInput(Int32 inputID, PipelineBuffer buffer) at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper90 wrapper, Int32 inputID, IDTSBuffer90 pDTSBuffer, IntPtr bufferWirePacket)
2. My custom destination component is used for writing a file with a fixed schema. I followed the means by which source component examples add their output columns, but applied this to my external metadata columns. In my Validate() I check if the ExternalMetadataColumnCollection.Count == 0 and return DTSValidationStatus.VS_NEEDSNEWMETADATA; to force a call to ReinitializeMetaData(). In ReinitializeMetaData() I call a method that creates the input's external metadata columns that reflect my external data source.
This works fine except every time I add my custom destination component to a SSIS Package and go to edit the component I am greeted with a dialog box that states: "The component is not in a valid state. ... Do you want the component to fix these errors automatically?" Pressing the Yes button, I assume, makes the call to ReinitializeMetaData() and I have my external metadata columns. Where is the correct place to add the external metadata columns so the user does not have to take this extra step every time they add my component to their package?
View 5 Replies
View Related