Maison > base de données > tutoriel mysql > Pourquoi mon package SSIS échoue-t-il lors de la récupération des métadonnées des tables temporaires ?

Pourquoi mon package SSIS échoue-t-il lors de la récupération des métadonnées des tables temporaires ?

Mary-Kate Olsen
Libérer: 2024-12-29 05:13:10
original
688 Les gens l'ont consulté

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

Échec de la récupération des métadonnées dans le package SSIS en raison d'une table temporaire

Dans SSIS, la récupération des métadonnées des tables temporaires peut parfois entraîner l'échec du package avec l'erreur : "Erreur non spécifiée. Un enregistrement OLE DB est disponible. Les métadonnées n'ont pas pu être déterminées car l'instruction 'select * from '##TmpMcsConfigurationDeviceHistory86B34BFD041A430E84CCACE78DA336A1'' utilise une table temporaire. L'erreur indique que SSIS n'est pas en mesure de déterminer dynamiquement les métadonnées de la table temporaire.

Résolution

Pour résoudre ce problème, vous pouvez définir explicitement les métadonnées de la table temporaire. table à l’aide de la clause WITH RESULT SETS. Cela fournit à SSIS les informations nécessaires à l'avance, éliminant ainsi le besoin de déterminer dynamiquement les métadonnées, ce qui peut entraîner des échecs pour les tables temporaires.

Exemple de requête avec WITH RESULT SETS :

En fournissant explicitement les métadonnées, SSIS peut éviter de les récupérer dynamiquement à partir de la table temporaire, éliminant ainsi l'erreur et permettant au package de récupérer les métadonnées avec succès.
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
        )
    )
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal