Je suis en train de déboguer un package dts dans SSIS. Je passe dans les variables d'entrée pour incrémenter un compteur Lorsque je tente de MSGBOX la valeur du compteur, je reçois l'erreur suivanteSSIS 2005 Erreur lors de l'utilisation du composant de script Designer: "Impossible de récupérer une ligne du fournisseur OLE DB" BULK "pour le serveur lié" (null) "
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.".
est inférieure à la partie du code dans le concepteur de composants de script:..
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
Notez que la partie ci-dessus du code fonctionne parfaitement bien si je commente les lignes a Msgbox.
Yeah Sam, Il s'agit d'une tâche DTS des fichiers ADABAS vers Oracle tout en conservant les tables de transfert et l'environnement de mappage dans SSIS. Je suis relativement nouveau à SSIS. J'ai mentionné les points d'arrêt dans le script et ajouté "watch" et le paquet s'arrête aux points d'arrêt mais d'une manière ou d'une autre il ne semble pas frapper le script de conception. Peut-être que je peux vérifier votre dernière suggestion, mais j'ai vraiment besoin de pouvoir déboguer à travers l'application. –