Notre SSIS regroupe un package de contrôle structuré en un seul et de nombreux packages enfants (environ 30) qui sont appelés à partir du package de contrôle. Les packages enfants sont appelés avec la tâche d'exécution de package. Il existe une tâche d'exécution de paquet par paquet enfant. Chaque tâche d'exécution de package utilise Gestionnaire de connexions de fichiers pour spécifier le chemin d'accès au fichier dtsx du package enfant. Il y a un Gestionnaire de connexion de fichiers par paquet enfant. Chaque gestionnaire de connexion de fichiers a une expression définie pour la propriété ConnectionString. Cette expression ressemble à ceci:SSIS Erreur de variable intermittente: le système ne trouve pas le fichier spécifié
@[Template::FolderPackages]+"MyPackage.dtsx"
Le nom de fichier est différent pour chaque paquet. La variable (FolderPackages) est spécifiée dans le fichier de configuration du package SSIS.
L'erreur qui est générée lors de l'exécution est
Error 0x80070002 while loading package file "MyPackage.dtsx"
Le système ne peut pas trouver le fichier spécifié. » Le package qui ne diffère de la course à courir et parfois aucun paquet échouent tout. C'est quand J'ai exécuté FileMon pendant cette erreur et j'ai découvert que lorsque l'erreur se produit, SSIS essaie de lire le fichier dtsx à partir d'un mauvais emplacement, à savoir de system32. à ce qui se passerait si la variable @ [Template :: FolderPackages] était vide, mais parce que la même variable est utilisée pour chaque paquet d'enfant et travaille pour certains mais ne fonctionne pas parfois pour d'autres, je n'ai aucune expalnation à ce fait.
Quelque chose d'évident, ou le temps d'élever un appel de support avec Microsoft?
Pouvez-vous attendre avant de charger le prochain paquet? Tous les packages sont-ils dans le même répertoire? Est-ce que vous mettez un chemin absolu pour les paquets, pour vous assurer qu'il ne va pas à System32? –
Nous avons essayé les deux. Le seul moyen infaillible de l'arrêter est d'avoir un chemin absolu dans le paquet qui est le même que le système Prod, de sorte que lorsque la config ne se charge pas, elle retourne à l'emplacement Prod. Cela évidemment aspire dans un environnement de dev si. FYI, Microsoft creusent dans le cas avec des traces de pile et tous les détails sanglants. On dirait un vrai bug. –