Problem mit Integration Services Skripttask

23/10/2007 - 14:25 von M. Buescher | Report spam
Hallo,

ich habe ein Problem mit einem Skripttask in den Integration Services.

Ziel des Skripttasks soll es sein, den Quelltext einer Webseite
auszulesen und diesen lokal in eine Datei zu speichern, um diese dann
weiter in SSIS zu verwenden.

Das folgende Skript verwende ich in dem Task:


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

Public Class ScriptMain

Declare Function URLDownloadToFile Lib "urlmon" _
Alias "URLDownloadToFileA" ( _
ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long) As Long

Public Sub Main()
Dim lResult As Long
Dim sURL As String
Dim LocalFile As String
sURL = "http://www.example.com"
LocalFile = "F:\sourcecode.txt"

lResult = URLDownloadToFile(0, sURL, LocalFile, 0, 0)

Dts.TaskResult = Dts.Results.Success
End Sub

End Class


Verwende ich die Funktion in Visual Studio als Konsolenapplikation
funktioniert es soweit ohne Probleme, leider jedoch nicht mit den
Integration Services als Skripttask.

Bisher habe ich noch keinen Lösungsansatz gefunden und ich würde es
gerne komplett über SSIS abwickeln können.

Bin für jeden Tipp dankbar.
 

Lesen sie die antworten

#1 Willfried Faerber
25/10/2007 - 09:12 | Warnen spam
Hallo Michael,

bitte versuche mal folgenden Code:

Imports System.Net

Public Class ScriptMain
Public Sub Main()
Dim myWebClient As WebClient
Dim WebUrl As String
Dim Dateiname As String
Dim fireagain As Boolean

Try
myWebClient = New WebClient()
WebUrl = CStr(Dts.Variables("WebUrl").Value)
Dateiname = CStr(Dts.Variables("Dateiname").Value)

myWebClient.DownloadFile(WebUrl, Dateiname)

Dts.TaskResult = Dts.Results.Success

Catch ex As Exception
Dts.Events.FireError(0, String.Empty, ex.Message, String.Empty, 0)
Dts.TaskResult = Dts.Results.Failure
End Try
End Sub

End Class


Willfried Fàrber
MVP SQL Server
www.sqlis.de
www.sqlpass.de



"M. Buescher" schrieb im Newsbeitrag
news:
Hallo,

ich habe ein Problem mit einem Skripttask in den Integration Services.

Ziel des Skripttasks soll es sein, den Quelltext einer Webseite
auszulesen und diesen lokal in eine Datei zu speichern, um diese dann
weiter in SSIS zu verwenden.

Das folgende Skript verwende ich in dem Task:


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

Public Class ScriptMain

Declare Function URLDownloadToFile Lib "urlmon" _
Alias "URLDownloadToFileA" ( _
ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long) As Long

Public Sub Main()
Dim lResult As Long
Dim sURL As String
Dim LocalFile As String
sURL = "http://www.example.com"
LocalFile = "F:\sourcecode.txt"

lResult = URLDownloadToFile(0, sURL, LocalFile, 0, 0)

Dts.TaskResult = Dts.Results.Success
End Sub

End Class


Verwende ich die Funktion in Visual Studio als Konsolenapplikation
funktioniert es soweit ohne Probleme, leider jedoch nicht mit den
Integration Services als Skripttask.

Bisher habe ich noch keinen Lösungsansatz gefunden und ich würde es
gerne komplett über SSIS abwickeln können.

Bin für jeden Tipp dankbar.

Ähnliche fragen