Assigning Null to a variable in SSIS script component task

Hi,
I have created a script component task has codes like the one below.
If Row.SessionKey is null, how do I assign it to _prevSessionKey? Currently, I am receiving column reference is null error.
Please help!
publicclassScriptMain : UserComponent
{ int _prevSessionKey;
public override void Input0_ProcessInputRow(Input0Buffer Row)
if (Row.Event == 5)
_prevSessionKey = Row.SessionKey;
cherriesh

you can make it like this
publicclassScriptMain : UserComponent
{ int _prevSessionKey;
public override void Input0_ProcessInputRow(Input0Buffer Row)
if (Row.Event == 5)
_prevSessionKey = (Row.SessionKey_IsNull? <your default value here> : Row.SessionKey);
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page

Similar Messages

  • Error while executing the Job:Cannot assign NULL to host variable 1

    Hello!
    I have the following issue:
    Error while executing the Job:Cannot assign NULL to host variable 1. setNull() can only be used if the corresponding column is nullable. The statement is "INSERT INTO "VIRSA_... (see log for details)
    Note 1362138 - Rule generation - null pointer exception virsa_cc_rtmap  doesn't me. After uploading files of ZCC_DOWNLOAD_SAPOBJ and ZCC_DOWNLOAD_DESC I got the same problem during job running...
    How can I find out where is the problem?

    Hi
    That looks like your fields are disabled but they could still be causing the problem edited ( nah - talking rubbish as you've put dummy " " in there) edited - the 'null' error caused many background jobs to fail but, once we had the evidence to show the space (somebody had pressed enter instead of delete/backspace to clear the entry) it stopped the problem - just a bit of learning on the job which we all go through for the GRC chaps in KL.
    A " " would be valid but a    (I know you can't see it but it's there wouldn't be      )
    edited.When you did an edit/replace did it say it had replaced anything please?edited
    The word doc option does sound good!
    Cheers
    David
    Edited by: David Berry on Nov 4, 2010 7:33 PM

  • Ssis script component capture column LinageID in try catch

    I have created a SSIS Script Component which has two outputs. Named output0 and ErrorOutput.
    I have rapped the code in a TRY/CATCH block and output the exception message in the ErrorOutputBuffer.
    The exception message lists the error, but does not identify which column the error occurred on.
    Is this possible to do?
    Mr Shaw

    Hi Mr Shaw,
    AFAIK, no -- there is not way to propagate the column information in a script to an error handling.
    But what may help is the faulty value, this would perhaps indicate what column could have triggered the exception.
    Arthur My Blog

  • C# SSIS Script component - Save List String to Object package-scope variable and read it in Script Task

    before posting this i was searching this on internet but was not able to find info regarding my specific case:
    i have a DataFlow Task with "Error output" pointing from FlatFile to
    Script Component that does below (variable "ErrorMessageList" is listed under ReadWriteVariables property):
    List<string> lsErrors = new List<string>();
    public override void Input0_ProcessInputRow(Input0Buffer Row)
    lsErrors.Add("test1");
    lsErrors.Add("test2");
        void PostExecute()
            base.PostExecute();
            Variables.ErrorMessageList = lsErrors;
    Then the DataFlow points to a ScriptComponent where this object variable is listed under ReadOnlyVariables property and does the below:
    public void Main()
    List<string> lsErrors = (List<string>)Dts.Variables["ErrorMessageList"].Value;
    and that is where i get exception-has-been-thrown-by-the-target-of-an-invocation
    What is wrong here?
    (i have mistakenly edited this first post before, so i tried to manually put it back to original version)

    i have missed the "override" keyword...
    public class ScriptMain : UserComponent
    public class UserComponent: ScriptComponent
    namespace Microsoft.SqlServer.Dts.Pipeline
    public class ScriptComponent
    // i should have seen this before
    public virtual void PostExecute();
    i believe i must have deleted the PostExecute method definition right after the ScriptComponent generated the script for me... and then when i've realized that i can't change ReadWriteVariables as a part of:
    public override void Input0_ProcessInputRow(Input0Buffer Row)
    // --- can't change ReadWriteVariables here
    then i had to add the method back but forgot that the base method is virtual
    thanks for this hint, Russ!

  • Error in SSIS Script Component

    Development environment : SQL Server Business Intelligence  Development Studio 2008
    I have developed SSIS package to insert/update records to production Database. In this case I'm using  a Script component to call a Stored Procedure to do the data access. I putted a User defined variable into
    ReadOnlyVariables container. When execute the package I got the following error.
    ERROR:
    Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSVariables100'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{22992C1D-393D-48FB-9A9F-4E4C62441CCA}'
    failed due to the following error: The application called an interface that was marshalled for a different thread. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD)).
    at Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSVariables100.Unlock()
    at Microsoft.SqlServer.Dts.Pipeline.ScriptComponent.UnlockReadOnlyVariables()
    at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.PostExecute()
    Appreciate if any assistance regarding this!
    Kind Regards, 

    What is your readonly variable meant to store: a value to be supplied as argument to the stored procedure?
    Either way, I agree with SSISJoost, try to use Execute Sql Task, I prefer to make as much as possible use of the SSIS components.
    Maybe the reason why you write a script is that you assume one cannot call an EXEC stored procedure immediately in a data source in a data flow component. But you can prepare the Exec statment in a string variable and then use that string variabl in
    a Oled db source with SQL command as variable.
    Jan D'Hondt - SQL server BI development

  • SSIS script component to use defined connection manager to load data from a Oracle

    In SSIS script compoment, I can connect to oracle with hard-coded connectionstring:
    OracleConnection conn;
    conn = new OracleConnection();
    conn.ConnectionString = "Data Source=XE;User ID=hr;Password=******";
    however, when I defined an connection managers in the script compoment and call it as follows:
        IDTSConnectionManager100 connMgr;
        OracleConnection conn;
        public override void AcquireConnections(object Transaction)
            connMgr = this.Connections.MyADONETConnectionManager;
            conn = (OracleConnection)connMgr.AcquireConnection(null);
    I got error below:
    TITLE: Package Validation Error
    Package Validation Error
    ADDITIONAL INFORMATION:
    Error at Data Flow Task source [Script Component C# Oracel HR Oracle [21]]: System.InvalidCastException: Unable to cast COM object of type 'System.__ComObject' to class type 'Oracle.DataAccess.Client.OracleConnection'. Instances of types that represent COM
    components cannot be cast to types that do not represent COM components; however they can be cast to interfaces as long as the underlying COM component supports QueryInterface calls for the IID of the interface.
       at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(Exception e)
       at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.AcquireConnections(Object transaction)
       at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostAcquireConnections(IDTSManagedComponentWrapper100 wrapper, Object transaction)
    Error at Data Flow Task source [SSIS.Pipeline]: Script Component C# Oracel HR Oracle failed validation and returned error code 0x80004002.
    Error at Data Flow Task source [SSIS.Pipeline]: One or more component failed validation.
    Error at Data Flow Task source: There were errors during task validation.
     (Microsoft.DataTransformationServices.VsIntegration)
    I did not find any example for Orale. A similar SQL server example is as linked below:
    http://technet.microsoft.com/en-us/library/ms135939(v=sql.110).aspx
    can anybody shed some light? I appreciate it...
    thanks,
    Steve

    You need to create a connectionmanager for Oracle connection and use it within the script task
    See
    http://www.mssqltips.com/sqlservertip/1787/oracle-parameterized-queries-in-sql-integration-services-ssis/
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Upgraded to VS 2013 - cannot edit script in SSIS script component

    I'm running SQL Server 2014 and just recently upgraded to Visual Studio 2013 from 2012. I was attempting to develop an SSIS solution today - the first time since the upgrade - and was blocked because I wasn't able to edit the script for a script component
    in an SSIS package.
    I can add the object to a data flow but clicking on the "Edit Script..." button yields no response whatsoever. No error, no scripting environment. 
    I'm running VS2013 Ultimate with SSDT 2013, and SS 2014 Enterprise. 
    My hunch is that there are components missing somewhere but I don't know enough about this platform to piece together how things are related. I have nearly every option installed for VS2013 except for Windows Phone and app store development.
    I didn't have an issue previously and I'm unsure how to debug this - especially since I'm not a real SDE. 
    Thanks in advance for your help

    Hi Torben E,
    Maybe that you were unaware that you post this issue in Visual Studio Setup and Installation forum. This forum is to discuss and ask questions about the install and setup of Visual Studio. Obviously, this case is out of the scope of this forum.
    I'm unsure which forum is better for this case. Is Visual Studio General forum? Or SQL Server Integration Services forum? But I'd like to find a suitable forum along with you.
    >>I was attempting to develop an SSIS solution today - the first time since the upgrade - and was blocked because I wasn't able to edit the script for a script component in an SSIS package.  
    I see that you upgrade to Visual Studio 2013 from 2012. And you didn't have an issue previously. Do you mean that you can create SSIS project and edit the script for a script component before you upgrade VS?
    >>ERROR: Cannot resolve reference coloader80.dll,processorArchitecture="X86",type="win32",version="1.0.0.0".
    From the error message, it seems that the IDE can't find the coloader80.dll. Can you find this dll in your PC? Does it exist in the path ""C:\Program
    Files (x86)\Microsoft
    Visual Studio 11.0\Common7\IDE\"?
    If you can find it, please try to register the oleaut32.dll as the thread below mentioned to see if this method can solve this issue.
    https://social.msdn.microsoft.com/Forums/en-US/68d89658-b35f-4828-a9b1-31cf5cfc7717/coloader80dll-and-critical-debug-error?forum=Vsexpressvb
    This error is caused by the registration for oleaut32.dll was corrupted, there maybe other dll that also named oleaut32.dll, so visual studio could not
    find the right oleaut32.dll.
    So please download the OleAutClean.msi in this link and run it, to clean all the registration of oleaut32.dll.
    http://download.microsoft.com/download/a/9/3/a93f06e7-5828-460c-a78b-ab89c77b6957/OleAutClean.msi
    Then register the oleaut32.dll again.
    1.     
    Right click the Commandline to run the commandline as administrator.
    2.     
    In the commandline, run the following command if you are using Win7 or vista.
    regsvr32 "%CommonProgramFiles%\microsoft shared\VS7DEBUG\coloader80.dll" . Then you will see a dialog that shows the registration
    successes.
    Best regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • SSIS Script Component Conditional Split to Flat File Destination

    I have a flat file which needs to be split into multiple flat files based on value in RecordType column. 
    For example, if (RecordType == 20), then direct all rows to a new text file, 
    I have around 15 different record types. I have managed to write some C# code for Conditional Split, but 
    still trying to figure out what is the next step to save these rows to a text file. 
    I will be grateful if someone please point me to the right direction.
    Many Thanks
    #region Namespaces
    using System;
    using System.Data;
    using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
    using Microsoft.SqlServer.Dts.Runtime.Wrapper;
    using System.IO;
    #endregion
    [Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
    public class ScriptMain : UserComponent
    string copiedAddressFile;
    private StreamWriter textWriter;
    private string columnDelimiter = ",";
    private string filepath = @"C:\DestFiles";
    private string[] columns;
    public override void PreExecute()
    IDTSInput100 input = ComponentMetaData.InputCollection[0];
    columns = new string[input.InputColumnCollection.Count];
    for (int i = 0; i < input.InputColumnCollection.Count; i++)
    columns[i] = input.InputColumnCollection[i].Name;
    public override void Input0_ProcessInputRow(Input0Buffer Row)
    if (Row.intRecordType ==20)
    Row.DirectRowToRecordType20();
    else if (Row.intRecordType ==10)
    Row.DirectRowToRecordType10();

    see similar example
    http://www.sqlis.com/sqlis/post/Using-the-Script-Component-as-a-Conditional-Split.aspx
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • SSIS : Read Rows from an Object variable in SSIS Script Task which is looped many times.

    Hello All,
    Here is what I am trying to do...
    1. I am having two rows, one column in an Object Variable. (vLoopCountObj).
    2. I am having 30 Rows, 2 Columns in my second Object  Variable (vTableRowsObj)
    3. I have a FOR EACH LOOP which will run for number of rows in vLoopCountObj i.e 2 times here.
    4. I have a Script Task inside the FOR EACH LOOP to display all the rows of vTableRowsObj.
    5. When I execute, 30 Rows gets displayed only once. It will not display when the loop goes for second iteration. Please help me to display for second time.
    6. I have used below code to display the rows whithin the script task which is in SSIS dataflow task.
    Imports System
    Imports System.Data
    Imports System.Math
    Imports Microsoft.SqlServer.Dts.Runtime
    Imports System.Xml
    Imports System.Collections
    Imports System.Data.OleDb
    Public Class ScriptMain
    Public Sub Main()
    Dim oleDA As New OleDbDataAdapter
    Dim dt As New DataTable
    Dim col As DataColumn
    Dim row As DataRow
    Dim sMsg As String
    oleDA.Fill(dt, Dts.Variables("vTableRowsObj").Value)
    MsgBox("Number of Rows " + dt.Rows.Count.ToString())
    For Each row In dt.Rows
    For Each col In dt.Columns
    sMsg = sMsg & col.ColumnName & ": " & row(col.Ordinal).ToString & vbCrLf
    Next
    MsgBox(sMsg)
    sMsg = ""
    Next
    Dts.TaskResult = Dts.Results.Success
    End Sub
    End Class

    Hi Raj,
    It is verrrry interesting issue. I can also confirm that it doesnt loop again. I've made a simple test and figured that in the second loop even you fill the Dataadapter, record count is zero. Which brings me up to the idea: Somehow, after you read the object
    variable resultset, you can not read it again in the for each loop.
    Strange, probably a bug or a technical issue that is beyond my existing knowledge.
    I can provide a workaround. You can also loop in script task for first variable. (Nested loops)
    Let other members to examine and comment on this.
    Regards
    Onur
    (For others who also wants to test, here is my scenario
    Execute SQL Task 1:
    Query: SELECT 1 as Cnt UNION ALL SELECT 2 as Cnt
    Resultset: Full Resultset
    ResultSet Tab: Name: 0, Variable Name: User::vLoopCountObj;
    Execute SQL Task 2:
    Query: SELECT 1 as ColA, 2 as ColB UNION ALL SELECT 3 as ColA, 4 as ColB UNION ALL SELECT 5 as ColA, 6 as ColB
    Resultset: Full Resultset
    ResultSet Tab: Name: 0, Variable Name: User::vTableRowsObj;
    For Each Loop Container:
    Collection: Enum: ForEach ADO Enum
    Source Object: User::vLoopCountObj
    Enum Mode: Rows n the first Table
    Script Task:
    ReadOnlyVariables: User::vTableRowsObj
    Script Source:
    Imports System
    Imports System.Data
    Imports System.Math
    Imports Microsoft.SqlServer.Dts.Runtime
    Imports System.Xml
    Imports System.Collections
    Imports System.Data.OleDb
    Public Class ScriptMain
    Public Sub Main()
    Dim oleDA As New OleDbDataAdapter
    Dim dt As New DataTable
    Dim col As DataColumn
    Dim row As DataRow
    Dim sMsg As String
    oleDA.Fill(dt, Dts.Variables("vTableRowsObj").Value)
    Dts.Events.FireInformation(-1, "START!!!!!!!!!!!!!!", "START LOOP", "", 0, True)
    Dts.Events.FireInformation(1, "RowCount: ", dt.Rows.Count.ToString(), "", 0, True)
    For Each row In dt.Rows
    For Each col In dt.Columns
    sMsg = sMsg & col.ColumnName & ": " & row(col.Ordinal).ToString & vbCrLf
    Next
    Dts.Events.FireInformation(1, "Msg: ", sMsg, "", 0, True)
    sMsg = ""
    Next
    Dts.TaskResult = ScriptResults.Success
    End Sub
    End Class
    BI and ERP Senior Consultant @ Nexum Bogazici
    If it is, Please dont forget to mark as answered or at least vote as helpful if the post helps you in any ways.

  • Using variables in WLST Script ant task

    I have multiple scipts that are run using ant tasks, however, I do not want to have to enter the password every time one of these scripts is executed. Instead I would like to use the following ant task to store the password in a variable/property:
    <target name="getPassword" >
         <echo message="Domain: ${domain}" />
    <echo message="Username: system" />
    <input message="Please enter password:" addproperty="password" />
    </target>
    I would then like to use that variable/property everytime a script is executed like this:
         <target name="deploy4x">
              <echo message="***** Copying 4X.ear *****" />
              <copy file="${build.path}\jar\4X.ear" todir="${apps.dir}" preservelastmodified="true"/>     
              <echo message="***** Updating 4X.ear on ${domain} *****"/>
              <wlst debug="true" fileName="Deploy4X.py" executeScriptBeforeFile="true" failonerror="true" >
                   <script>
                        connect('system','%s' % ${password},'%s' % $url)
                   </script>
              </wlst>
         </target>
    However, the script blows up every time I try to run it b/c of the connect() line. I have also tried connect('system','%s' % password, '%s' % url).
    Has anyone else successfully used variables in an Ant WLST Script task?
    Thanks.

    Hi,
    when I use *XDIM_MEMBERSET ACCOUNT AS %TEST% = BAS(REVENUE) - it work fine.
    BUT ! after my first commit, it seems like the variable value is lost. And the *Xdim_memberset takes all.....
    Fortunately enough, *select still contains the variable value after *commit.
    Thanks,
    Joergen
    *Correction !
    It actually works, it still contains the variable value after commit !!
    Edited by: Jørgen Dalby Andersen on Dec 30, 2011 1:33 PM

  • Error while executing SSIS package which contains Script component through SQL Server Agent Job

    Hello All,
    I have written one SSIS 2012 package which is fetching records from CSV and put it into staging DB and from staging DB , using SSIS script component task, I am inserting data into Dynamics CRM. So far it is working fine when
    I manually execute SSIS package.
    but when I run the SSIS package using SQL server agent job, I encounter below error. After seeing below error at step "Insert TLM Headers Script Component " I understand that it is failing at script component which I have used in SSIS package,
    but I am not sure what is the cause behind that? please advise.
    Error:
    Executed as user: domain\user account. Microsoft (R) SQL Server Execute Package Utility  Version 11.0.5556.0 for 64-bit  Copyright (C) Microsoft Corporation. All rights reserved.    Started:  1:21:41 PM  Error: 2015-02-25
    13:21:45.94     Code: 0xC0047062     Source: Insert TLM Headers Script Component [205]     Description: System.ServiceModel.FaultException: The server was unable to process the request due to an internal
    error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to
    the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.    Server stack trace:      at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message
    reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)     at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)    
    at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)     at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage
    methodCall, ProxyOperationRuntime operation)     at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)    Exception rethrown at [0]:      at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(Exception
    e)     at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer)     at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper100
    wrapper, Int32 inputID, IDTSBuffer100 pDTSBuffer, IntPtr bufferWirePacket)  End Error  Error: 2015-02-25 13:21:45.94     Code: 0xC0047022     Source: Insert TLM Headers SSIS.Pipeline    
    Description: SSIS Error Code DTS_E_PROCESSINPUTFAILED.  The ProcessInput method on component "Script Component" (205) failed with error code 0x80131501 while processing input "Input 0" (215). 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.  End Error 
    DTExec: The package execution returned DTSER_FAILURE (1).  Started:  1:21:41 PM  Finished: 1:21:45 PM  Elapsed:  4.009 seconds.  The package execution failed.  The step failed.
    Thanks
    Pankaj

    domain\user account has not proper rights
    That being said, often SSIS jobs require a proxy to be runnable and this is how you make one up
    http://www.mssqltips.com/sqlservertip/2163/running-a-ssis-package-from-sql-server-agent-using-a-proxy-account/
    Arthur
    MyBlog
    Twitter

  • Script Component WebService Binary code for the script is not found

    I am using SSIS 2012 to access a Public Web Service
     http://marketinformation.natgrid.co.uk/MIPIws-public/public/publicwebservice.asmx
    However, when adding reference to WebService (not Service Reference),
    I receive the dreaded msg "Binary code for the script is not found"
    I have spent an age ploughing through the forums.
    Many replies seem to suggest not using Script Component to acces WebService.
    Should I write a .NET app  ?
    Any thoughts how I should proceed would be most welcome.
    thanks JohnJames

    Hi JohnJames,
    If I understand correctly, you already add this public web service via Add Service Reference option in the Script Component. Then you receive the error message when you trying to call the bindings and Contract settings stored in app.config file to access
    the web service.
    Please note that we cannot all the web service normal way as SSIS Script Component task doesn’t recongnise the app.config file. To fix this issue, we should define the BINDINGS via code rather than depending on the App.config file. For more details, please
    see the following blog:
    http://social.technet.microsoft.com/wiki/contents/articles/22587.consume-webservice-via-ssis-script-component.aspx
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Running a Select query against multiple sql servers using SSIS script task.

    Hi Guys,
    I need to fetch data from multiple sql servers using  SSIS scirpt task inside a foreach container.
    is there anyway i can build dynamic sql connections using ssis variables inside SSIS script task in each loop
    Please guide me or refer any blogs so that i will try..
    Thanks in advance.

    Your only options is using .net code, then it will be no different than using a console app in a loop.
    using (SqlConnection connection = new SqlConnection(connectionString))
    connection.Open();
    Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
    Console.WriteLine("State: {0}", connection.State);
    and so forth for each connection string
    the connection string would come from the ForEach loop
    Arthur My Blog

  • Assign value to ODI variable from Jython

    Hello Experts,
    I have a procedure where I'm using Jython code. I want to assign a value to an ODI project variable from a Jython function:
    Example:
    #COUNTER = len(v_jythonList) ---> being #COUNTER the ODI project variable and len() the jython function
    Now, i noticed that using ODI variables adds # sign which is use for comments in Jython code. Is there a way to assign values to ODI variables from Jython script?
    Please help!.
    Thanks.
    Pablo.

    Hi,
    Does this post help you :- How to assign value for a ODI variable from Jython Script
    Doc id 424579.1 on metalink should help.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Script component Fail: System.IndexOutOfRangeException: Index was outside the bounds of the array

    In SSIS package “script component” is failing due to the following exception. This exception is occurring sometimes only.  This
    script component contain Try/Catch, still it’s failing. What could be the reasons for this exception?
    Error Message
    5246793 User:OnError Package1 2015-01-16 03:40:45.000 2015-01-16 03:40:45.000 00:00:00 System.IndexOutOfRangeException: Index was outside the bounds of the array.
       at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(Exception e)
       at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer)
       at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper100 wrapper, Int32 inputID, IDTSBuffer100 pDTSBuffer, IntPtr bufferWirePacket)
    5246800 OnError Package1 2015-01-16 03:40:45.000 2015-01-16 03:40:45.000 00:00:00 SSIS Error Code DTS_E_PROCESSINPUTFAILED.  The ProcessInput method on component "Script Component" (657) failed with error code 0x80131508 while processing input
    input "Input 0" (666). 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.

    Thanks for your reply. Please consider the following points too.
    1. In this code I don't use any array or list
    2. This exception is not happening always, when running the package again some time success some time failing.
    3. More than 100 Million records flow through this script component.
    4. I applied Try/Catch for whole script component. In this case script component should ignore the recode and should continue but it is not.
    5. Same package running successfully in QA Environment with same data. This exception sometime only occurring in Production environment only.
    6. Similar error message appearing three time. Can it be a time out error?
    5246793 User:OnError Package1 2015-01-16 03:40:45.000 2015-01-16 03:40:45.000 00:00:00 System.IndexOutOfRangeException: Index was outside the bounds of the array.
       at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(Exception e)
       at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer)
       at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper100 wrapper, Int32 inputID, IDTSBuffer100 pDTSBuffer, IntPtr bufferWirePacket)
    5246794 OnError Package1 2015-01-16 03:40:45.000 2015-01-16 03:40:45.000 00:00:00 System.IndexOutOfRangeException: Index was outside the bounds of the array.
       at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(Exception e)
       at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer)
       at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper100 wrapper, Int32 inputID, IDTSBuffer100 pDTSBuffer, IntPtr bufferWirePacket)
    5246795 OnError Execute Package1 (R2OK) 2015-01-16 03:40:45.000 2015-01-16 03:40:45.000 00:00:00 System.IndexOutOfRangeException: Index was outside the bounds of the array.
       at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(Exception e)
       at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer)
       at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper100 wrapper, Int32 inputID, IDTSBuffer100 pDTSBuffer, IntPtr bufferWirePacket)
    These are some of the questions that I have:
    1. Bug in SSIS script component in SQL Server 2008R2?
    2. Is there any place Script component by default using Array or List?
    3. Why Try/Catch is not success?
    I know this is mess but please try to help!

Maybe you are looking for

  • Initial Time machine backup to Time capsule results in kernel panic

    I recently purchased a Retina display MacBook Pro (running Lion at the time) and transferred the data from an external hard drive with my Time Machine backups from my previous MBP. I also bought a new Time Capsule.  The first time I tried to back up

  • How to load a text file int JEditorPane and highlight some words (Urgent !)

    I want to load a text file into a JEditorPane and then highlights some keywords such as while,if and else.I am using an EditorKit in order to style the JEditorPane. I have no difficulty while giving the input through the keyboard but lots of exceptio

  • Supplier Country Lookup

    Hi- I am doing a supplier conversion with legacy data and some of the countries are failing. I need to do a transformation of this legacy data and need to look up the country codes. In R12 there are many tables that hold country codes out there for I

  • Changing account settings from G/L account into reconciliation account

    Dear all, Could you please help me solve the following problem: We've got such settings in productive system so that open items were formed on GL account in spite of the fact that it was not a reconciliation account for creditors. Is there any way to

  • Extracting Photograph Noise as a black and white layer from Photograph

    I am looking to extract natural noise from a photographs material and create a black and white layer out of it, but I am new to photoshop and unsure how to proceed with this. For example, here is a photograph of a hard plastic gun. [IMG]http://dl.dro