tags:

views:

567

answers:

2

I am trying to debug a dts package in SSIS. I have a script component designer where I pass in the input variables to increment a counter. When I try to msgbox the counter value, I get the following error.

Error: 0xC0202009 at STAGING1 to STAGING2, STAGING2 Destination [1056]: 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.".

Below is the part of the code within the script component designer :

Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper

Public Class ScriptMain
    Inherits UserComponent

    Dim iCounter As Integer
    Dim iCurrentVal As Integer
    Dim sCurrentOracleSeq As String
    Dim sSeqName As String
    Dim sSeqAltProcName As String

    Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
        '
        ' Add your code here
        '
        Row.SEQIDNCASE = iCounter + iCurrentVal
        iCounter += 1
        MsgBox(iCounter + iCurrentVal, MsgBoxStyle.Information, "Input0")
    End Sub

    Public Overrides Sub PreExecute()
        sCurrentOracleSeq = Me.Variables.VSEQIDCurVal

        iCurrentVal = CInt(sCurrentOracleSeq)
        MsgBox(iCurrentVal, MsgBoxStyle.Information, "No Title")
        iCounter = 0
        sSeqName = Me.Variables.VSEQIDName
        sSeqAltProcName = Me.Variables.VSEQIDAlterProc
    End Sub

    Public Overrides Sub PostExecute()
        Me.Variables.VSEQIDUpdateSQL = "Begin " & sSeqAltProcName & "('" & sSeqName & "'," & (iCounter + iCurrentVal) & "); End;"
    End Sub
End Class

Note that the above part of code works perfectly fine if I comment out the lines that has Msgbox.

A: 

This is really a DTS task within an SSIS? Just making sure.

If so, have you considered rewriting in SSIS script task and taking advantage of breakpoints in BIDS?

Maybe you should try going to the DTS package via SSMS > Management > Legacy and troubleshooting from there - take BIDS out of the picture if possible.

Sam
Yeah Sam,This is a DTS task from ADABAS files to Oracle while maintaining staging tables and mapping environment in SSIS. I am comparatively new to SSIS. I have mentioned the breakpoints within the script and also added 'watch' and the package pauses at the breakpoints but somehow it does not seem to hit the design script.May be I can check doing your latter suggestion but I really do need to able to debug thru the application.
A: 

Having a similar issue and I think this link answers my problem but is a little different from the error message you are getting:

http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/d9933b0f-9c49-4d02-8ee3-a8d9ca8ff080/

patrick

related questions