Guten Tag zusammen,
in unserer Firma haben wir folgendes Problem:
Wir benutzen Prozeduren, welche DTS-Pakete aufrufen. Diese Pakete erstellen zum Beispiel eine Excel-Datei oder eine TXT-Datei und füllen diese dann mit den entsprechenden Daten. Das Problem ist, dass folgendes Paket, keine Excel-Datei erstellt.
Das Problem wurde von unserer Seite hier nicht gefunden, deshalb habe ich beschlossen dieses jetzt mal ins Forum zu stellen. Vielleicht kann jemand von Euch uns helfen.
Also erst mal zum Code der Prozedur:
Nun, zum DTS-Paket:
1. ActiveX-Skripttask: nicht definiert
Nun, die Fehlermeldung im Log-File des Paketes:
Noch zu unserem System:
Betriebssystem: Windows XP Prof. Service Paket 2
Office 2003 Service Paket 3
SQL-Server 2005 (DTS-Designer ist installiert...)
Hoffe ich habe alle Angaben geliefert. Falls ihr noch weitere Angaben benötigt, werde ich diese gerne nachliefern.
Vielleicht noch zu erwähnen ist, dass das Paket die Excel-Datei erstellt und ohne Probleme mit Daten füllt, wenn ich es separat im DTS-Designer ausführe. Führe ich es jedoch aus der Prozedur hinaus auf, dann klappt es nicht und oben erwähnter Fehler erscheint.
Ich hoffe ihr könnt mir helfen...
Gruess Roger U.
in unserer Firma haben wir folgendes Problem:
Wir benutzen Prozeduren, welche DTS-Pakete aufrufen. Diese Pakete erstellen zum Beispiel eine Excel-Datei oder eine TXT-Datei und füllen diese dann mit den entsprechenden Daten. Das Problem ist, dass folgendes Paket, keine Excel-Datei erstellt.
Das Problem wurde von unserer Seite hier nicht gefunden, deshalb habe ich beschlossen dieses jetzt mal ins Forum zu stellen. Vielleicht kann jemand von Euch uns helfen.
Also erst mal zum Code der Prozedur:
Code:
USE [DatenbankName] GO /****** Objekt: StoredProcedure [dbo].[eda_to_excel] Skriptdatum: 12/01/2008 12:56:41 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[eda_to_excel] (@path varchar(200), @filename varchar(200), @in_clause varchar(1000)='') as DECLARE @hr int, @paket int, @fullfilename varchar(400), @dummy int, @duplicates int, @export int , @brutto int , @spacer int, @sql varchar(4000), @statement varchar(4000), @server varchar(50), @sql_old varchar(4000) set @server = @@servername set @fullfilename = @path +'\'+@filename set @dummy = 1 EXEC @hr = master.dbo.sp_OACreate 'DTS.Package', @paket output EXEC @hr = master.dbo.sp_OAMethod @paket, 'LoadFromSQLServer', NULL, '(local)', NULL, NULL, 256, NULL, NULL, NULL, 'export_eda' -- Name des Pakets set @sql_old ='Tasks("Copy Data from Ergebnisse to EDA Task").Properties("SourceSQLStatement").Value' execute @hr = sp_OAGetProperty @paket, @sql_old, @statement output if @in_clause !='' begin set @sql =replace(@statement, 'and vermerk=''EDA2''','and mailcode in ('+@in_clause+ ') and vermerk=''EDA2''') execute @hr = sp_OASetProperty @paket, 'Tasks("Copy Data from Ergebnisse to EDA Task").Properties("SourceSQLStatement").Value', @sql set @sql_old ='Tasks("Copy Data from Ergebnisse to EDA Task").Properties("SourceSQLStatement").Value' execute @hr = sp_OAGetProperty @paket, @sql_old, @statement output end EXEC @hr = sp_OASetProperty @paket, 'connections("Ziel").DataSource',@fullfilename EXEC @hr = sp_OASetProperty @paket, 'GlobalVariables("fullfilename").Value',@fullfilename EXEC @hr = sp_OASetProperty @paket, 'connections("Quelle").DataSource',@server exec @hr = master.dbo.sp_OAMethod @paket, 'Execute', NULL EXEC @hr = master.dbo.sp_OADestroy @paket
1. ActiveX-Skripttask: nicht definiert
Code:
'********************************************************************** ' Visual Basic-ActiveX-Skript '************************************************************************ Option Explicit Function Main() Dim oFSO Dim catDB Dim catTBL Dim oConn dim Blatt(3) dim x Dim strPathFileName, xlApp, xlBook ,mysheet strPathFileName = DTSGlobalVariables("fullfilename").Value blatt(0)="Recherche_erfolglos" blatt(1)="eda" blatt(2)="ip" blatt(3)="eda2" ' FSO - Objekt erstellen Set oFSO = CreateObject("Scripting.FileSystemObject") ' Test, ob Datei bereits existiert. Gegebenenfalls löschen. If oFSO.FileExists(strPathFileName) Then oFSO.DeleteFile strPathFileName End If ' FSO - Objekt aufräumen Set oFSO = Nothing Set catDB = CreateObject("ADOX.Catalog") catDB.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Extended " _ & "Properties=""Excel 8.0"";mode=share deny none;Data Source=" & strPathFileName for x= 0 to 3 Set catTBL = CreateObject("ADOX.Table") With catTBL .Name =Blatt(x) ' Name des Excel - Arbeitsblattes Set .ParentCatalog = catDB With .Columns .Append "paket", 3 .Append "mailcode", 202 .Append "contact_nr",3 .Append "mannr",3 .Append "adrnum",3 .Append "titel",202 .Append "vname",202 .Append "fname", 202 .Append "fname_zusa",202 .Append "strasse",202 .Append "name2",202 .Append "plz", 202 .Append "ort",202 .Append "telefon",202 .Append "buchdat", 7 .Append "cc_qual", 3 .Append "sternchen", 202 .Append "tel_ber",202 .Append "änderung", 202 .Append "recherche",202 End With End With catDB.Tables.Append catTBL next Set catTBL = Nothing Set catDB = Nothing Main = DTSTaskExecResult_Success End Function
************************************************** ****************************** ********************
Fehler beim Ausführen des folgenden DTS-Pakets:
Fehlerquelle: Microsoft Data Transformation Services-Paket (DTS)
Fehlerbeschreibung: Fehler bei Paket aufgrund von Fehler bei Schritt 'DTSStep_DTSActiveScriptTask_1'.
Fehlercode: 80040428
\Hilfedatei für Fehler: sqldts80.hlp
Hilfekontext-ID für Fehler: 700
Paketname: export_eda
Paketbeschreibung: export_eda
Paket-ID: {87E59CB2-1645-4D3C-BAB6-E89BD0175CD3}
Paketversion: {8557532F-F3AB-4FA7-AF69-02A5254CEA82}
Paketausführungsherkunft: {BEB75D8D-302F-4480-9C31-79F764233D92}
Ausgeführt auf: PCName
Ausgeführt von: SYSTEM
Ausführung gestartet: 01.12.2008 13:04:51
Ausführung abgeschlossen: 01.12.2008 13:04:51
Gesamtausführungszeit: 0.047 Sekunden
Paketschritt-Ausführungsinformationen:
Schritt 'Copy Data from Ergebnisse to EDA Schritt' wurde nicht ausgeführt.
Fehler bei Schritt 'DTSStep_DTSActiveScriptTask_1'.
Schritt-Fehlerquelle: Microsoft Data Transformation Services-Paket (DTS)
Schritt-Fehlerbeschreibung: Fehlercode: 0
Fehlerquelle= Microsoft JET Database Engine
Fehlerbeschreibung: Unbekannter Fehler
Fehler in Zeile 33.
Schritt-Fehlercode: 800403FE
Schritt-Hilfedatei für Fehler: sqldts80.hlp
Schritt-Hilfekontext-ID für Fehler: 4500
Schrittausführung gestartet: 01.12.2008 13:04:51
Schrittausführung abgeschlossen: 01.12.2008 13:04:51
Gesamte Schrittausführungszeit: 0.015 Sekunden
Fortschrittswert in Schritt: 0
************************************************** ****************************** ********************
Fehler beim Ausführen des folgenden DTS-Pakets:
Fehlerquelle: Microsoft Data Transformation Services-Paket (DTS)
Fehlerbeschreibung: Fehler bei Paket aufgrund von Fehler bei Schritt 'DTSStep_DTSActiveScriptTask_1'.
Fehlercode: 80040428
\Hilfedatei für Fehler: sqldts80.hlp
Hilfekontext-ID für Fehler: 700
Paketname: export_eda
Paketbeschreibung: export_eda
Paket-ID: {87E59CB2-1645-4D3C-BAB6-E89BD0175CD3}
Paketversion: {8557532F-F3AB-4FA7-AF69-02A5254CEA82}
Paketausführungsherkunft: {BEB75D8D-302F-4480-9C31-79F764233D92}
Ausgeführt auf: PCName
Ausgeführt von: SYSTEM
Ausführung gestartet: 01.12.2008 13:04:51
Ausführung abgeschlossen: 01.12.2008 13:04:51
Gesamtausführungszeit: 0.047 Sekunden
Paketschritt-Ausführungsinformationen:
Schritt 'Copy Data from Ergebnisse to EDA Schritt' wurde nicht ausgeführt.
Fehler bei Schritt 'DTSStep_DTSActiveScriptTask_1'.
Schritt-Fehlerquelle: Microsoft Data Transformation Services-Paket (DTS)
Schritt-Fehlerbeschreibung: Fehlercode: 0
Fehlerquelle= Microsoft JET Database Engine
Fehlerbeschreibung: Unbekannter Fehler
Fehler in Zeile 33.
Schritt-Fehlercode: 800403FE
Schritt-Hilfedatei für Fehler: sqldts80.hlp
Schritt-Hilfekontext-ID für Fehler: 4500
Schrittausführung gestartet: 01.12.2008 13:04:51
Schrittausführung abgeschlossen: 01.12.2008 13:04:51
Gesamte Schrittausführungszeit: 0.015 Sekunden
Fortschrittswert in Schritt: 0
************************************************** ****************************** ********************
Betriebssystem: Windows XP Prof. Service Paket 2
Office 2003 Service Paket 3
SQL-Server 2005 (DTS-Designer ist installiert...)
Hoffe ich habe alle Angaben geliefert. Falls ihr noch weitere Angaben benötigt, werde ich diese gerne nachliefern.
Vielleicht noch zu erwähnen ist, dass das Paket die Excel-Datei erstellt und ohne Probleme mit Daten füllt, wenn ich es separat im DTS-Designer ausführe. Führe ich es jedoch aus der Prozedur hinaus auf, dann klappt es nicht und oben erwähnter Fehler erscheint.
Ich hoffe ihr könnt mir helfen...
Gruess Roger U.
Comment