Heim > Datenbank > MySQL-Tutorial > Warum schlägt mein SSIS-Paket beim Abrufen von Metadaten aus temporären Tabellen fehl?

Warum schlägt mein SSIS-Paket beim Abrufen von Metadaten aus temporären Tabellen fehl?

Mary-Kate Olsen
Freigeben: 2024-12-29 05:13:10
Original
706 Leute haben es durchsucht

Why Does My SSIS Package Fail When Retrieving Metadata from Temporary Tables?

Fehler beim Abrufen von Metadaten im SSIS-Paket aufgrund temporärer Tabelle

In SSIS kann das Abrufen von Metadaten aus temporären Tabellen gelegentlich dazu führen, dass das Paket fehlschlägt der Fehler: „Nicht spezifizierter Fehler. Ein OLE DB-Datensatz ist verfügbar. Die Metadaten konnten nicht ermittelt werden, da die Anweisung „select * from“ lautet „##TmpMcsConfigurationDeviceHistory86B34BFD041A430E84CCACE78DA336A1“ verwendet eine temporäre Tabelle.“

Dieses Problem tritt auf, wenn das Paket versucht, auf eine globale temporäre Tabelle mit dem Namen „##TmpMcsConfigurationDeviceHistory“ zuzugreifen. Der Fehler weist darauf hin, dass SSIS die Metadaten der temporären Tabelle nicht dynamisch ermitteln kann.

Lösung

Um dieses Problem zu beheben, können Sie die Metadaten für die temporäre Tabelle explizit definieren Tabelle mithilfe der WITH RESULT SETS-Klausel. Dadurch erhält SSIS im Voraus die erforderlichen Informationen, sodass die Metadaten nicht dynamisch ermittelt werden müssen, was zu Fehlern bei temporären Tabellen führen kann.

Beispielabfrage mit WITH RESULT SETS:

EXEC ('
    CREATE TABLE #a 
      (
        MyIntegerColumn INT NOT NULL,
        MyTextColumn VARCHAR(50) NULL,
        MyOtherColumn BIT NULL
      ) 
    INSERT INTO #a 
      (
        MyIntegerColumn,
        MyTextColumn,
        MyOtherColumn
      )
    SELECT 
        1 AS MyIntegerColumn,
        ''x'' AS MyTextColumn,
        0 AS MyOtherColumn

    SELECT MyIntegerColumn, MyTextColumn, MyOtherColumn
    FROM #a')

WITH RESULT SETS
    (
        (
            MyIntegerColumn INT NOT NULL
           ,MyTextColumn VARCHAR(50) NULL
           ,MyOtherColumn BIT NULL
        )
    )
Nach dem Login kopieren

Durch die explizite Bereitstellung der Metadaten kann SSIS vermeiden, diese dynamisch aus der temporären Tabelle abzurufen, wodurch der Fehler behoben wird und das Paket die Metadaten abrufen kann erfolgreich.

Das obige ist der detaillierte Inhalt vonWarum schlägt mein SSIS-Paket beim Abrufen von Metadaten aus temporären Tabellen fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage