Débutant SSIS ici.ssis table temporaire exec proc
J'ai un package SSIS que j'ai créé en fonction de l'assistant. J'ai ajouté une tâche SQL pour exécuter le script que je courais auparavant séparément, afin de réduire le processus en une seule étape. Le script utilise beaucoup de tables temporaires, et un ## temp global à la fin pour rendre le résultat accessible en dehors du processus.
Lorsque j'essaie d'exécuter le package, j'obtiens une "erreur de validation de package" complexe (code d'erreur 0x80040E14). Je pense que la partie active du message d'erreur est "Nom d'objet invalide '## roster5". " Je viens de réaliser que c'était la tâche de flux de données qui jetait l'erreur, donc j'ai essayé de mettre une autre tâche SQL avant tout pour créer la table afin que la tâche de flux de données voit que la table est là; mais il me donne toujours l'erreur: "Nom d'objet invalide '## ROSTER_MEMBER_NEW5'."
Qu'est-ce que je manque/fais mal? Je ne sais pas ce que je ne sais pas. Il semble que cela ne devrait pas être si compliqué (En tant que débutant, je sais que c'est probablement une copie de ... quelque chose, mais je ne sais pas comment poser la question.)
Il existe quelques solutions à cela. Dites-moi d'abord combien de lignes vous attendez dans ## roster5, ## roser) member_news5. – plditallo
oups, ## roster5 était juste un raccourci pour le nom complet; Il y a environ 5 millions de lignes produites par le script – hmmmmm
Vous verrez des suggestions pour convertir votre table #temp en une variable de table (par exemple @temptable). L'optimiseur traitera la table des variables comme une table avec une seule ligne, ce qui aura un impact sur les performances. Vous verrez également d'autres suggestions, telles que set frmt off (https://stackoverflow.com/questions/1579476/using-temp-tables-in-ssis). Cela aussi provoquera un coup de performance. Je voudrais créer une table de transfert avec un schéma identifiable, le peupler, puis quand à travers tronquer. – plditallo