8
votes

Comment puis-je lire la sortie d'une requête SQL dans une propriété de fourmis?

Je voudrais nourrir le résultat d'une simple requête SQL (quelque chose comme: Sélectionnez SP_Number à partir de service_pack ) que je passe à l'intérieur de mon script ANT (à l'aide de la tâche SQL SQL ) Retour dans une propriété de fourmis (par exemple, service.pack.number ).

La tâche sql peut sortir dans un fichier, mais y a-t-il une voie plus directe?


0 commentaires

3 Réponses :


1
votes

Peut-être la fourmi EXEC La tâche est plus utile ici? Vous pouvez exécuter une autonomie et obtenir le résultat dans une propriété via OutputProperty . Vous devrez exécuter votre SQL de manière autonome, malheureusement.

Alternativement, cela vaut-il la peine d'avoir examiné le code à la tâche des fourmis SQL et de le modifier pour accepter un OutputProperty ? Cela semble un peu douloureux, mais je pense que cela pourrait bien être une modification très simple si vous ne trouvez rien de plus direct.


2 commentaires

Merci pour les suggestions, Brian. Je suis un peu fatigué de faire trop à l'extérieur de mon script de fourmis, alors je vais avec l'approche décrite dans ma réponse.


THX pour les commentaires. Cela ressemble à la solution la plus pragmatique pour vos besoins



12
votes

Bien que j'aurais préféré ne pas créer de fichier, je suis finalement allé avec la solution suivante:

La tâche SQL est appelée comme suit P>

<property file="temp.properties" />
<delete file="temp.properties" />

<echo message="Current service pack version: ${current.sp.version}" />
<echo message="Current major version: ${current.major.version}" />


2 commentaires

salut! Sélectionnez 'Déployment_instrucance =' Déployment_instruction à partir de patch_spd où Patch_Spd = '$ {$ {Nom}' IM exécuté ci-dessus Requête mais dans mon fichier de propriétés Il est d'imprimer uniquement les pls m'aider déployant_instruction = rien autre


Exécutez votre requête directement contre votre base de données et vérifiez qu'il produit le résultat correct?



0
votes

Utilisateurs MySQL - J'ai dû modifier la requête comme: xxx

sans la fonction Concat, je viens de récupérer le texte "1" (représentant mon identifiant) dans le fichier de propriétés. En outre, la distribution est nécessaire dans un système MySQL, sinon le champ concaténé est renvoyé comme une blob.


0 commentaires