2016-04-12 46 views
1

Gemäß der Microsoft documentation on DTEXEC for executing SSIS packages:SSIS Script Task Fehler: "Gefunden SQL Server Integration Services 2012 Script Task, die Migration erfordert"

When you use the version of the dtexec utility that comes with SQL Server 2012 Integration Services (SSIS) to run a SQL Server 2005 Integration Services (SSIS) or a SQL Server 2008 Integration Services (SSIS) package, Integration Services temporarily upgrades the package to SQL Server 2012 Integration Services (SSIS).

Gibt es ein Merkmal dieser Aspekt der DTEXEC Dienstprogramm zu deaktivieren, wenn SSIS-Pakete ausgeführt wird?

Mein Grund für diese Frage ist, dass ich eine Skriptaufgabe habe, um einige Dateien in einem SSIS-Paket umzubenennen. Das funktioniert auf meinem lokalen Computer und einem lokalen Computer eines Mitarbeiters einwandfrei, aber nach der Bereitstellung dieses SSIS-Pakets auf unserem Windows 2012-Server mit SQL Server 2012 wird eine Fehlermeldung angezeigt. Ich bin wirklich verwirrt, weil ich dieses Paket in SQL Server 2012-Datentool schrieb so dass diese Aufgabe sollte nicht ausgebaut werden müssen/haupt gewandert ist, das ist, was der Fehler über beschwert ...

Warning: 2016-04-06 11:29:58.14
Code: 0x00000000
Source: DataMergeScriptTask
Description: Found SQL Server Integration Services 2012 Script Task "my_Script_task" that requires migration!

End Warning

Error: 2016-04-06 11:30:03.02
Code: 0x00000001
Source: DataMergeScriptTask
Description: Exception has been thrown by the target of an invocation.

End Error

+1

AFAIK Dieses Verhalten ist eingebaut und kann nicht geändert werden. Das ist der Grund, warum Leute die Mühe machen, ihre Pakete für 2008 auf 2012 zu aktualisieren. Ich nehme an, dass Ihr Fehler durch unterschiedliche Versionen der "eingeschränkten C# oder VB.net" verursacht wird, die in der Skriptaufgabe verwendet werden. Haben Sie versucht, das Paket zu aktualisieren? Das Problem mit der Aufgabe könnte so einfach sein wie eine leicht unterschiedliche Namespace-Referenz, die benötigt wird. – SebTHU

+0

Lustig ist, wurde dieses Paket erfolgreich mit SQL Server 2012 Data Tools konvertiert ... Ich habe sogar das ganze Ding in einem neuen Paket mit sql Server 2012 Daten-Tools neu geschrieben und hatte das gleiche Ergebnis. Scheint wie sql Server Datentools 2012 Skriptaufgaben sind kaputt. –

+0

Scheint so, als könnten wir unser C# -Skript nehmen und es in eine eigenständige Konsolen-App/exe konvertieren und es so auf den Server stellen. Ich hoffe jedoch, dass ich eine Lösung für dieses Problem im Kontext von SSIS finden kann ... Sehr enttäuschend. –

Antwort

1

Leider haben wir keine Lösung gefunden, dass die Skriptaufgabe nicht in 2012 konvertiert wird, da diese Pakete alle in Data Tools 2012 geschrieben sind und das Öffnen/erneute Speichern der Aufgabe die Skriptaufgabe nicht so zu aktualisieren scheint, dass sie gelöst wird der Server.

Meine Lösung bestand darin, das C# -Skript zu einer eigenständigen .exe zu machen, die über einige Befehlszeilenargumente verfügt, um unsere verschiedenen Parameter mit Standardwerten an die aktuelle Umgebung anzupassen. Dann habe ich dies eingerichtet, um von einem Batch-Skript ausgeführt zu werden, das von einem Windows-Task-Scheduler-Job aufgerufen wird.

Ich hoffe, eine echte Lösung für diese zu finden, so dass Skriptaufgaben in größeren Paketen immer noch pfirsichfarben werden, aber das kann mehr Zeit oder eine Neuinstallation von Datentools dauern ... Mehrere Versionen von SQL Server-Datentools haben/BIDS auf meinem Arbeitsplatz könnte ein Grund für diese Trauer sein. Weitere Tests folgen!

0

Aktualisieren Sie die TargetServerVersion in Ihrem Paket so, dass sie der Serverversion entspricht, für die Sie die Bereitstellung planen.

Stellen Sie sicher, dass Sie eine Kopie Ihres Projekts haben, falls es nicht reibungslos funktioniert. Klicken Sie dann mit der rechten Maustaste auf den Projektnamen, wählen Sie Eigenschaften, dann bohren Sie in die Konfigurationseigenschaften -> Allgemein und aktualisieren Sie die TargetServerVersion. enter image description here Dann neu erstellen und bereitstellen. Wenn das Projekt erstellt wird, sollte es jetzt in dem Format sein, das von Ihrem Server erwartet wird, also wird es nicht versuchen, den Skriptcode auf dem Server neu zu erstellen, auf dem Verweise möglicherweise nicht übereinstimmen.