5 votes

Une chaîne vide donne le résultat suivant : "Des erreurs ont été détectées dans les arguments de la ligne de commande, veuillez vous assurer que tous les arguments sont correctement définis"

Sur un serveur SQL 2016, j'ai un travail qui appelle un paquet SSIS. Ce package est dans un projet dans la SSISDB et a des paramètres. L'un de ces paramètres est un type de chaîne de caractères qui est vide par défaut.

J'ai exécuté le travail avec la valeur vide pour ce paramètre, et il s'est exécuté avec succès.

J'ai ensuite ouvert les propriétés de la tâche, je suis allé à l'étape qui appelle ce paquet et je suis allé dans la configuration pour donner une valeur à ce paramètre.

J'ai relancé le travail et il s'est exécuté avec succès, et la valeur du paramètre a eu l'effet attendu sur les résultats.

Maintenant, je veux modifier le travail et remettre le paramètre à une chaîne vide. En répétant ce que j'ai fait ci-dessus, j'ouvre la configuration et je supprime complètement la valeur du paramètre.

enter image description here

Lorsque j'essaie ensuite de sauvegarder les propriétés de l'étape de travail, j'obtiens une boîte de dialogue d'erreur avec le message en objet.

Si je remets une valeur non vide pour ce paramètre, l'étape du travail peut être sauvegardée.

Lorsque j'ai créé le travail, j'ai pu l'enregistrer avec une chaîne vide pour cette valeur. Ce n'est que lorsque je change la valeur en une chaîne de caractères non vide, que j'exécute le travail et que j'essaie ensuite de la remettre à vide, que je rencontre cette erreur.

Je suis conscient que je peux exécuter un alter job script ou supprimer et recréer l'étape du job pour contourner ce problème. Je ne suis pas intéressé à savoir comment contourner ce problème.

Ma question est la suivante : s'agit-il d'un bogue connu, ou existe-t-il une astuce pour utiliser l'interface graphique afin de modifier la valeur d'un paramètre d'exécution d'une chaîne de caractères à une chaîne vide ?

L'un d'entre vous peut-il le faire, ou mon problème est-il reproductible ? Je n'ai rien trouvé dans mes recherches jusqu'à présent.

EDIT : suite au commentaire d'Aaron, j'ai essayé de saisir une paire de guillemets simples pour la valeur du paramètre. Le travail l'a accepté et s'est enregistré avec succès. Mais ensuite, lorsque j'ai exécuté le travail, la paire de guillemets simples a été utilisée littéralement comme valeur du paramètre, au lieu d'une chaîne vide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X