Set oConnection = oPackage.Connections.New("SQLOLEDB")
Set oStep = oPackage.Steps.New
Set oTask = oPackage.Tasks.New("DTSBulkInsertTask")
Set oCustomTask = oTask.CustomTask
........
En Visual Basic 6.0 se tiene el siguiente codigo.... el cual funciona correctamente, sin embargo se debe emigrar dicho codigo a .net.
--------------------------------------
Código PHP:
Private Sub GenericTaskPackage()
Dim oConnection As DTS.Connection
Dim oStep As DTS.Step
Dim oTask As DTS.Task
Dim oCustomTask As DTS.BulkInsertTask 'TaskObject
Dim sDatabase As String
Dim sfilename As String
Dim sFileTitle As String
On Error GoTo PackageError
'Create connections, step, tasks
Set oConnection = oPackage.Connections.New("SQLOLEDB")
Set oStep = oPackage.Steps.New
Set oTask = oPackage.Tasks.New("DTSBulkInsertTask")
Set oCustomTask = oTask.CustomTask
'Set up and database connections
SetConnections oPackage, oConnection
With oStep
.Name = "GenericPkgStep"
.ExecuteInMainThread = True
End With
sfilename = diaUno.FileName
sDatabase = cbbd.Text
sFileTitle = diaUno.FileTitle
'Customize the Task Object
With oCustomTask
.Name = "GenericPkgTask"
.DataFile = sfilename
.ConnectionID = 1
.DestinationTableName = sDatabase & ".." & LCase(sDatabase) & "_" & amo & mesn
'.FieldTerminator = "|"
'.RowTerminator = "\r\n"
End With
oStep.TaskName = oCustomTask.Name
'Add the step
With oPackage
.Steps.Add oStep
.Tasks.Add oTask
.FailOnError = True
End With
'Run the package and release references.
oPackage.Execute
Clean up
Set oConnection = Nothing
Set oCustomTask = Nothing
Set oTask = Nothing
Set oStep = Nothing
oPackage.UnInitialize
Exit Sub
PackageError:
Dim sMsg As String
sMsg = "Package failed error: " & sErrorNumConv(Err.Number) & _
vbCrLf & Err.Description & vbCrLf & sAccumStepErrors(oPackage)
MsgBox sMsg, vbExclamation, oPackage.Name
End Sub
La conversion del anterior codigo de vs 6.0 a .net es el siguiente (Codigo en Visual Basic .net):
Pero marca error al asignar referencias del uso de DTS con customTask
-----------------------------
Código PHP:
Private Sub GenericTaskPackage()
Dim oConnection As DTS.Connection
Dim oStep As DTS.Step
Dim oTask As DTS.Task
Dim oCustomTask As DTS.BulkInsertTask 'TaskObject
Dim sDatabase As String
Dim sfilename As String
Dim sFileTitle As String
Dim oprop As DTS.Properties
On Error GoTo PackageError
'Create connections, step, tasks
oConnection = oPackage.Connections.New("SQLOLEDB")
oStep = oPackage.Steps.New
[COLOR=Sienna] oTask = oPackage.Tasks.New("DTSBulkInsertTask")
oCustomTask = oTask.CustomTask[/COLOR]
'Set up and database connections
'UPGRADE_WARNING: No se puede resolver la propiedad predeterminada del objeto oPackage.Steps.Item. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1037"'
SetConnections(oPackage, oConnection)
With oTask
.Name = "DTSBulkInsertTask"
.Description = "Information checar"
End With
With oStep
.Name = "GenericPkgStep"
.ExecuteInMainThread = True
End With
sfilename = diaUno.FileName
sDatabase = cbbd.Text
sFileTitle = diaUno.FileTitle
'Customize the Task Object
With oCustomTask
.Name = "GenericPkgTask"
.DataFile = sfilename
.ConnectionID = 1
'UPGRADE_WARNING: No se puede resolver la propiedad predeterminada del objeto mesn. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1037"'
'UPGRADE_WARNING: No se puede resolver la propiedad predeterminada del objeto amo. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1037"'
.DestinationTableName = sDatabase & ".." & LCase(sDatabase) & "_" & amo & mesn
'.FieldTerminator = "|"
'.RowTerminator = "\r\n"
End With
oStep.TaskName = oCustomTask.Name
'Add the step
With oPackage
.Steps.Add(oStep)
.Tasks.Add(oTask)
.FailOnError = True
End With
'Run the package and release references.
oPackage.Execute()
'Clean up
'UPGRADE_NOTE: El objeto oConnection no se puede destruir hasta que no se realice la recolección de los elementos no utilizados. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1029"'
oConnection = Nothing
'UPGRADE_NOTE: El objeto oCustomTask no se puede destruir hasta que no se realice la recolección de los elementos no utilizados. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1029"'
oCustomTask = Nothing
'UPGRADE_NOTE: El objeto oTask no se puede destruir hasta que no se realice la recolección de los elementos no utilizados. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1029"'
oTask = Nothing
'UPGRADE_NOTE: El objeto oStep no se puede destruir hasta que no se realice la recolección de los elementos no utilizados. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1029"'
oStep = Nothing
oPackage.UnInitialize()
Exit Sub
PackageError:
Dim sMsg As String
'UPGRADE_WARNING: No se puede resolver la propiedad predeterminada del objeto oPackage.Steps.Item. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1037"'
sMsg = "Package failed error: " & sErrorNumConv(Err.Number) & vbCrLf & Err.Description & vbCrLf & sAccumStepErrors(oPackage)
MsgBox(sMsg, MsgBoxStyle.Exclamation, oPackage.Name)
End Sub
Una vez actualizado el codigo de Visual Basic 6.0 a Visual Basic .NET
Procedo a ejecutar la aplicacion en visual Basic .NET pero me envia el siguiente mensaje de error
----------------------------
"Package failed error: xD, 13
Error de QueryInterface para la interfaz DTS.CustomTask."
-------------------------------------------------
Que debo hacer para solucionar este problema???
-------------------------------------------------