Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Attribuer dynamiquement un nom de fichier à la chaîne de connexion Excel

Option A

La chaîne ConnectionString La propriété d'un gestionnaire de connexion Excel n'est pas l'endroit où je vais pour manipuler le fichier actuel, contrairement à un gestionnaire de connexion de fichier plat ordinaire.

Au lieu de cela, placez une expression sur le ExcelFilePath du gestionnaire de connexion Excel. propriété.

En théorie, il ne devrait y avoir aucune différence entre ConnectionString et ExcelFilePath, sauf que vous aurez plus de "choses" à créer pour obtenir la chaîne de connexion parfaite.

Assurez-vous également que vous exécutez le package en mode 32 bits.

Option B

Une alternative que vous pourriez rencontrer est que la valeur au moment de la conception de la chaîne de connexion n'est pas valide une fois qu'elle est en cours d'exécution. Lorsque le package démarre, il vérifie que toutes les ressources attendues sont disponibles et si elles ne le sont pas, il échoue rapidement plutôt que de mourir à mi-charge. Vous pouvez retarder cette validation jusqu'à ce que SSIS doive réellement accéder à la ressource et vous le faites en définissant le DelayValidation propriété à Vrai. Cette propriété existe sur tout dans SSIS, mais je commencerais par la définir d'abord sur Excel Connection Manager. Si cela génère toujours l'erreur de validation du package, essayez également de définir la validation du délai du flux de données sur true.