Ich habe ein Problem mit einem SSIS-Job, den ich vor kurzem erstellt, die mit einem seltsamen Fehler bricht.Weird SSIS Fehler (Prozess Exit Code 255)
Background Info
Dies ist ein SSIS-Paket (DTSX), die mit einem SQL-Auftrag (SQL Server 2008, Auftrag erstellt mit SSMS) mit dem Typ SQL Server Integration Services-Paket, wie Sie es laufen wird erwarten von. Der Job läuft in unserer Entwicklungsumgebung einwandfrei, aber nicht in unserer Testumgebung. Das Paket verwendet eine Konfigurationsdatei (.dtsConfig), um die Verbindungszeichenfolgen für die verschiedenen Umgebungen zu verwalten. Was das Paket tatsächlich macht, ist ziemlich einfach; Es schneidet einige Staging-Tabellen ab und füllt dann Daten aus einer Oracle-Datenbank mit acht Datenflusstasks in einem Sequenzcontainer, wobei jede Aufgabe in Source (Oracle) -> Datenkonvertierung (für Unicode-Strings) -> Destination (SQL Server). Aufgrund der Oracle-Verbindung, die durchgeführt werden muss, enthält das Paket den Benutzer/Pass für diese Verbindung und hat daher die Schutzstufe "EncryptSensitiveWithPassword", um dies zu gewährleisten. Auf dem Server, auf dem dieser Job ausgeführt wird, wird Windows Server 2008 R2 SP1 ausgeführt. Ich glaube, das ist es so weit wie Hintergrundinformationen, aber wenn ich anythign verpasste, lass es mich wissen.
Der tatsächliche Fehler
Dies ist die einzige nützliche Nachricht in der Jobgeschichte gebrochen Jobs:
Der Schritt keine Ausgabe generiert haben. Der Rückgabewert war unbekannt. Der Prozessbeendigungscode war 255. Der Schritt ist fehlgeschlagen.
Wie Sie sehen können, nicht sehr hilfreich. Der eigentliche Kicker ist, dass wenn ich diesen Job manuell mit DTEXEC auf dem Server ausführen, läuft es gut. Dies führt mich zu der Annahme, dass es kann ein Berechtigungsproblem mit dem sqlagentadmin oder etwas sein, aber alles, was ich sehe, scheint gut. Ich habe ausgecheckt, was mit dem procexplorer passiert ist, und es wurde der korrekte DTEXEC-Befehl ausgeführt. Die Anwendung Ereignisanzeige nicht mit diesem obwohl Pop-up (so vielleicht seine Orakel Fahrerausgabe):
Faulting application name: DTExec.exe, version: 2007.100.5500.0, time stamp: 0x4e7b1ed6
Faulting module name: OraClient11.Dll, version: 11.2.0.1, time stamp: 0x4bb1dcae
Exception code: 0xc0000005
Fault offset: 0x0000000000057106
Faulting process id: 0x2d94
Faulting application start time: 0x01cd66b0d360164d
Faulting application path: C:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe
Faulting module path: c:\app\product\11.2.0\client_1\bin\OraClient11.Dll
Report Id: 118a2173-d2a4-11e1-b1ec-001517955142
Ich habe stundenlang um das Internet geschaut und ich habe ein paar Dinge ausprobiert. Ich habe die Delay-Validierungseigenschaft in allen Datenflussaufgaben auf "True" geändert. Ich habe versucht, den Job mit der integrierten SSIS-GUI einzurichten, und mit der Betriebssystemoption, nur den dtexec auszuführen, schlagen beide fehl.
Irgendwelche Vorschläge? Sorry für die Textwand, aber ich wollte nur sicherstellen, dass ich alles abgedeckt habe.
Danke!
Es sieht aus wie der Oracle-Treiber, den Sie ausführen, nicht ordnungsgemäß funktioniert. Die vorletzte Zeile Ihrer Fehlerausgabe besagt, dass der Fehler innerhalb von OraClient11.Dll liegt. Können Sie versuchen, dies auf einer anderen Maschine auszuführen? – rvphx
Ich nehme an, Sie haben keine Paketprotokollierung aktiviert? – billinkc
Das Konto, das das Paket im Test ausführt, ist dasselbe wie das Konto des SQL-Agenten oder haben Sie einen Proxy? Ist es in Ihrer Entwicklungsumgebung so eingerichtet, wie Sie es am besten beurteilen können? – billinkc