Roger U. 10 Geschrieben 3. Dezember 2008 Melden Teilen Geschrieben 3. Dezember 2008 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: 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 Nun, zum DTS-Paket: Zitieren Link zu diesem Kommentar
Roger U. 10 Geschrieben 3. Dezember 2008 Autor Melden Teilen Geschrieben 3. Dezember 2008 1. ActiveX-Skripttask: nicht definiert '********************************************************************** ' 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 Nun, die Fehlermeldung im Log-File des Paketes: ******************************************************************************** ******************** 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: CLNW5161 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 ******************************************************************************** ******************** 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. Zitieren Link zu diesem Kommentar
Roger U. 10 Geschrieben 3. Dezember 2008 Autor Melden Teilen Geschrieben 3. Dezember 2008 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. P.S.: sorry musste die Beiträge aufteilen... Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 3. Dezember 2008 Melden Teilen Geschrieben 3. Dezember 2008 Hallo und willkommen an Board Vermutung: Wenn du den DTS-Export per SP ausführst, wie bist du da am SQL Server angemeldet? Per SQL-Authentifizierung oder per Windows-integrierter Anmeldung? mfg CP Zitieren Link zu diesem Kommentar
Roger U. 10 Geschrieben 3. Dezember 2008 Autor Melden Teilen Geschrieben 3. Dezember 2008 Hallo und Danke. Also habe beides probiert. Es zeigt keine Wirkung. Es geht nicht. Habe mich auch mal als Administrator bei meinem PC eingeloggt. Auch da funktioniert es nicht. Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 3. Dezember 2008 Melden Teilen Geschrieben 3. Dezember 2008 Prüfe mal bitte die Berechtigungen, die das Dienstkonto des SQL Servers auf das Zielverzeichnis für die Exportdatei hat. Darf er dahin schreiben? Wenn du das Package aus einen SQL Server Agent Schedule ausführst, solltest du ebenfalls die Berechtigungen des Accounts auf das Zielverzeichnis prüfen, unter dem der SQL Server Agent läuft. Zitieren Link zu diesem Kommentar
Roger U. 10 Geschrieben 3. Dezember 2008 Autor Melden Teilen Geschrieben 3. Dezember 2008 ich bin mir nicht genau sicher, ob ich jetzt das richtige Kontrolliert habe. Siehe Bilder. Ist das richtig so? Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 3. Dezember 2008 Melden Teilen Geschrieben 3. Dezember 2008 Siehe Bilder. Ist das richtig so? Hast du eine Möglichkeit irgendwo anders hochzuladen und zu verlinken? Anhänge dauern hier zum einen mit der Freischaltung und zum anderen ist es immer fraglich, ob sie sehr zielführend sind. Zitieren Link zu diesem Kommentar
Roger U. 10 Geschrieben 3. Dezember 2008 Autor Melden Teilen Geschrieben 3. Dezember 2008 Also ich versueche die Bilder mal so hineinzustellen: Warum jetzt eines gross ist und das andere nicht. Keine Ahnung... Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 3. Dezember 2008 Melden Teilen Geschrieben 3. Dezember 2008 Wie wird die SP intern ausgeführt? Stösst du die manuell an? Läuft die als Agentschedule? Wenn als Agentschedule, in welchem Kontext läuft der SQL Server Agent? Handelt es sich um ein Verzeichnis, welches auf dem SQL Server selber liegt oder ist das ein Netzlaufwerk? Zitieren Link zu diesem Kommentar
Roger U. 10 Geschrieben 4. Dezember 2008 Autor Melden Teilen Geschrieben 4. Dezember 2008 Die SP führe ich manuell aus. Es ist kein automatischer Job oder sowas, was damit zu tun hat. Diese SP sowie das Zielverzeichnis und der Server alles ist nur lokal. Zitieren Link zu diesem Kommentar
Roger U. 10 Geschrieben 10. Dezember 2008 Autor Melden Teilen Geschrieben 10. Dezember 2008 Weiss hier niemand eine Lösung??? Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.