Das SSIS-Paket kann nicht in SQL Server 2008 R2 oder SQL Server 2008 64-Bit-Modus ausgeführt werden.

Problembeschreibung

Angenommen Sie, Sie erstellen ein Paket Microsoft SQL Server Integration Services (SSIS) in Microsoft SQL Server 2008 R2 oder Microsoft SQL Server 2008. Wenn Sie versuchen, das Paket im 64-Bit-Modus ausführen, finden Sie das Paket ausgeführt werden kann. Darüber hinaus erhalten Sie eine oder mehrere der folgenden Fehlermeldungen angezeigt, je nach Aufgaben oder Komponenten im Paket:
  • Das Paket enthält eine ADO.NET-Quelle:

    Fehler: <Uhrzeit>
    Code: 0xC0047062
    Quelle: Datenfluss Aufgabe ADO NET Quelle [1]
    Beschreibung: System.InvalidCastException: angegebene Umwandlung ist ungültig.
    am Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.GetSqlCommand()
    am Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.Validate()
    bei Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostValidate (IDTSManagedComponentWrapper100-Wrapper)
    End-Fehler
  • Das Paket enthält eine XML-Datenquelle:

    [XML-Quelle [1]] Fehler: "Component"XML-Quelle"(1)" fehlt die erforderliche Eigenschaft "AccessMode". Das Objekt muss die angegebene benutzerdefinierte Eigenschaft erforderlich.
    [SSIS. Pipeline]-Fehler: "Component"XML-Quelle"(1)" Fehler bei der Überprüfung und Validierungsstatus "VS_ISCORRUPT" zurückgegeben.
  • Das Paket enthält einen sendenden Task Mail:

    Fehler: <Uhrzeit>
    Code: 0xC0014005
    Quelle:
    Beschreibung: Das für Verbindungs-Manager "SMTP-Verbindungs-Manager" angegebene Verbindung Typ "SMTP" wird nicht als gültiger Verbindungs-Manager-Typ erkannt. Dieser Fehler wird zurückgegeben, wenn versucht wird, ein Verbindungs-Manager für einen unbekannten Verbindungstyp erstellt. Überprüfen Sie die Schreibweise des Verbindungsnamens Typ.
    End-Fehler
Hinweis Wenn Sie das Paket im 32-Bit-Modus ausführen, wird das Paket erfolgreich ausgeführt.

Ursache

Das Problem tritt auf, weil das systemeigene 64-Bit-Abbild bestimmten Microsoft.NET Framework-Assembly, mit der die SSIS-Aufgabe oder Komponente beschädigt wird. Beispiel:

  • Die.NET Framework-Assembly ist für eine Datenquelle ADO.NET Microsoft.SqlServer.ADONETSrc.dll. Daher wird das systemeigene Abbild Microsoft.SqlServer.ADONETSrc.ni.dll beschädigt.
  • Für eine XML-Datenquelle ist die.NET Framework-Assembly Microsoft.SqlServer.XMLSrc.dll. Daher wird das systemeigene Abbild Microsoft.SqlServer.XMLSrc.ni.dll beschädigt.
  • Für eine SMTP-Verbindung ist die.NET Framework-Assembly Microsoft.SqlServer.SendMailTask.dll. Daher wird das systemeigene Abbild Microsoft.SqlServer.SendMailTask.ni.dll beschädigt.

Problemlösung

Um dieses Problem zu beheben, verwenden Sie eine der folgenden Methoden:

  • Methode 1

    Systemeigene Assembly deinstallieren und Neuinstallieren von systemeigenen Assembly mit Ngen -Befehl.

    Deinstallieren und Neuinstallieren Bild systemeigene Assembly Microsoft.SqlServer.ADONETSrc.dll, gehen Sie folgendermaßen vor:
    1. Deinstallieren des systemeigenen Assemblyabbilds mithilfe eines Befehls, das der folgenden ähnelt:
      ngen uninstall "Microsoft.SqlServer.ADONETSrc, Version=10.0.0.0"
    2. Anzeigeinformationen Sie systemeigene Assembly Bild zu bestätigen, dass das systemeigene Abbild nicht vorhanden ist:
      ngen display "Microsoft.SqlServer.ADONETSrc, Version=10.0.0.0"
    3. Installieren des systemeigenen Assemblyabbilds einen Befehl, der etwa folgender Art:
      ngen install "Microsoft.SqlServer.ADONETSrc, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
    4. Anzeigeinformationen Sie systemeigene Abbilder zu bestätigen, dass das systemeigene Abbild installiert ist:
      ngen display "Microsoft.SqlServer.ADONETSrc, Version=10.0.0.0"
  • Methode 2
    Installieren Sie SQL Server Integration Services auf dem Computer, auf dem der Fehler auftritt.

Weitere Informationen

Weitere Informationen über.NET Framework-Assembly systemeigene Abbilder finden Sie Blogwebsite von Microsoft Developer Network (MSDN):

Weitere Informationen über Native Image Generator (Ngen.exe) finden Sie auf der folgenden MSDN-Website:Hinweis Ngen.exe ist Teil der Microsoft Visual Studio-Befehl. Sie müssen die richtige Plattform auswählen. Beispielsweise müssen Sie eine 64-Bit- oder 32-Bit-Plattform auswählen. Auf Computern, auf denen Sie nicht Visual Studio installiert haben, können Sie die entsprechende Datei Ngen.exe von einem Entwicklungscomputer kopieren, auf denen Visual Studio installiert haben. Oder Sie können Ngen.exe mit Windows SDKinstallieren.

Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.
Eigenschaften

Artikelnummer: 2853715 – Letzte Überarbeitung: 23.01.2017 – Revision: 1

Microsoft SQL Server 2008 Integration Services, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 R2 Integration Services, Microsoft SQL Server 2008 R2 Standard

Feedback