Probleme mit einem SSIS Paket (2. Versuch)

08/05/2009 - 14:07 von Thorsten Schröer | Report spam
Ich habe jetzt das SSIS Paket mit dem Deployment-Tool auf den SQL-Server
installiert. Jetzt möchte ich dieses aus einem Excel-VBA-Makro aus aufrufen.
Dazu habe ich folgende Funktion im Netz gefunden:

Public Sub ExecuteDTSPackage(ByVal SRVNAME As String, ByVal strPackageName
As String)
Dim oPKG As New DTS.Package
Dim oStep As DTS.Step

On Error GoTo ErrorHandler

oPKG.LoadFromSQLServer SRVNAME, , , DTSSQLStgFlag_UseTrustedConnection,
, , , strPackageName

'Alles im Main Thread ausführen
For Each oStep In oPKG.Steps
oStep.ExecuteInMainThread = True
Next

oPKG.Execute
oPKG.UnInitialize
Set oPKG = Nothing

Exit Sub

ErrorHandler:
'Fehlerbehandlung "ExecuteDTSPackage", Err.Number, Err.Description,
strPackageName
End Sub


Das Dumme ist nur, daß das Teil mit jetzt einen Fehler ausgibt, und zwar:

"Das angegebene DTS-Paket-Objekt ('Name = 'ASES-SBV_Test'; ID.VersionID =
{[nicht angegeben]}.{[nicht angegeben]}') ist nicht vorhanden."

Das stimmt aber nicht. Ich habe aus dem Server nachgeschaut. Das DTS-Paket
ist definitiv vorhanden.

Was ist es denn dieses mal? Brauche ich immer noch Adminrechte, obwohl das
Paket auf dem Server installiert ist?

Ich brauche dringend Hilfe. Es kann doch nicht sein, daß ich immer mein
Makro unterbrechen muß um im "SQL Server Business Intelligence Development
Studio" mein SSIS-Paket von Hand zu starten.
 

Lesen sie die antworten

#1 Christa Kurschat
11/05/2009 - 08:11 | Warnen spam
Hallo Thorsten,

"Thorsten Schröer" schrieb im
Newsbeitrag news:
Ich habe jetzt das SSIS Paket mit dem Deployment-Tool auf den SQL-Server
installiert. Jetzt möchte ich dieses aus einem Excel-VBA-Makro aus
aufrufen.
Dazu habe ich folgende Funktion im Netz gefunden:

Public Sub ExecuteDTSPackage(ByVal SRVNAME As String, ByVal strPackageName
As String)
Dim oPKG As New DTS.Package
Dim oStep As DTS.Step

On Error GoTo ErrorHandler

oPKG.LoadFromSQLServer SRVNAME, , , DTSSQLStgFlag_UseTrustedConnection,
, , , strPackageName

'Alles im Main Thread ausführen
For Each oStep In oPKG.Steps
oStep.ExecuteInMainThread = True
Next

oPKG.Execute
oPKG.UnInitialize
Set oPKG = Nothing

Exit Sub

ErrorHandler:
'Fehlerbehandlung "ExecuteDTSPackage", Err.Number, Err.Description,
strPackageName
End Sub


Das Dumme ist nur, daß das Teil mit jetzt einen Fehler ausgibt, und zwar:

"Das angegebene DTS-Paket-Objekt ('Name = 'ASES-SBV_Test'; ID.VersionID > {[nicht angegeben]}.{[nicht angegeben]}') ist nicht vorhanden."

Das stimmt aber nicht. Ich habe aus dem Server nachgeschaut. Das DTS-Paket
ist definitiv vorhanden.




Die Prozedur ist für den SQL2000, wenn ich das richtig sehe. Soweit ich
weiß, funktioniert das mit dem SQL2005 nicht.

Für den SQL2005 verwendest Du besser dtexec. Mit dtexecui kannst Du die
Befehlszeile zusammenbauen.
Oder Du erstellst einen Auftrag und startest diesen in Deinem VB mit
sp_startjob.

Gruß
Christa
Access-FAQ: http://www.donkarl.com
SQL-Server-FAQ: www.sqlfaq.de
InsideSql: www.insidesql.org

Ähnliche fragen