Dienstag, 2. Februar 2010

SQL Server 2005: 32-bit-exe von DTEXEC auf 64-bit-SQL Server benutzen

Situation:
SCOM-Reports sollen als Textdateien für die asynchrone Weiterverarbeitung in HP Open View bereitgestellt werden. Ein dtsx-Paket lädt dazu Daten aus einem csv-File und gibt die Daten umformatiert in eine andere Textdatei aus. Im BIDS funktionierte alles bestens.

Problem:
Nach dem Deployment des dtsx-Pakets als SQL Server Agent job trat folgender Fehler auf:

Error: 2010-01-29 10:01:08.32 Code: 0xC0048020 Source: Data Flow Task SCOM_PERFDATA_SYSTEM Data Flow Task SCOM_PERFDATA_SYSTEM (DTS.Pipeline) Description: The version of component "Flat File Source" (1) is not compatible with this version of the DataFlow. End Error The package execution fa... The step failed.

Ursache:
Wenn Sie SQL Server 2005 mit Integration Services und Business Intelligence Development Studio installieren, werden alle verfügbaren 32-Bit- und 64-Bit-Entwurfszeit und Laufzeit-Features von Integration Services installiert. Flatfile-Datasources und Destinations Provider sind nur in der 32-Bit-Version von dtexec.exe enthalten.

Lösung:
Server Agent job step als CmdExec-Typ anlegen, in der Befehlszeile auf die dtexec.exe im 32-bit-Verzeichnis verweisen:

E:\Program Files\Microsoft SQL Server (x86)\90\DTS\Binn\dtexec.exe /SQL "\SSIS package name" /SERVER "servername" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING E

Link:
http://msdn.microsoft.com/en-us/library/ms141766(SQL.90).aspx

Keine Kommentare: