0

Je cours Mule Anypoint studio v6.2.4 sous Windows. J'ai une application qui obtient des enregistrements de données à partir d'une base de données SQL Server et les remplit dans Salesforce Org. L'application a été développée en utilisant des exemples et fonctionne très bien dans le scénario actuel d'un DB et un SF paramètres définis dans le fichier mule.{mule.env}.properties.Définition de diverses informations d'accès DB et Salesforce dans Mule Anypoint Studio

Maintenant, j'ai besoin d'accéder à une base de données différente pour les enregistrements d'entrée et de les remplir vers une autre organisation Salesforce. Changer les paramètres d'accès dans le fichier de propriétés à chaque fois est fastidieux et sujet aux erreurs. Ce que je voudrais faire est de définir des paramètres d'accès (pour diverses bases de données SQL Server et DB Salesforce), de spécifier DbName et SFName comme paramètres de requête http, et de laisser l'application de mule choisir la bonne paramètres de connexion.

Comment puis-je accomplir? Détails me aider comme je ne suis pas compétent dans Mule encore.

Merci

Kishore

+0

est ce que vous voulez? Un fichier de propriétés avec une liste de DBs, puis en utilisant QUERY PARAMETERS pour spécifier le DBName qui sera utilisé par DBConnector – Alberici

Répondre

1

Vous c ould créer un fichier de propriétés avec une liste complète des connexions de base de données:

#DB of puppies 
postgres.puppies.user=mule 
postgres.puppies.password=password 
postgres.puppies.host=db-1 
postgres.puppies.db=mule-puppies 

#DB of cars 
postgres.cars.user=mule 
postgres.cars.password=password 
postgres.cars.host=db-2 
postgres.cars.db=mule-cars 

MISE À JOUR

Ensuite, si yout veulent lire un paramètre de requête à partir du composant dataweave lester une de vos propriétés:

%dw 1.0 
%output application/java 
--- 
p("postgres." ++ inboundProperties."http.query.params"['db-name'] ++ ".user") 

Remarque: Considérer lorsque QueryParameter.db-name est null, vous obtiendrez une exception (vous devriez gérer cette exception), ou, une autre façon de le faire, est en gérant les zéros de votre propre trame de données (https://forums.mulesoft.com/questions/28105/how-do-i-do-a-null-check-in-dataweave.html), par ex. quand null vous pouvez définir une base de données par défaut

Espérons que cela aide à clarifier

+0

Cela ne nécessiterait-il pas l'ajout d'un nouveau composant dataweave chaque fois qu'une nouvelle organisation DB ou Salesforce est ajoutée. Ce que je voudrais, c'est spécifier le paramètre de requête db-name avec "chiots" comme valeur et utiliser le dataweave comme % dw 1.0 % sortie application/java --- { utilisateur: p ("postgres." + # [ db-name] + ".user"), ... } Ceci éliminera les blocs de choix/d'entrelacement séparés et un bloc peut être suffisant. Je ne sais pas comment le mettre et besoin d'aide – kishore

+0

Compris kishore, pouvez-vous vérifier le sous-titre UPDATE dans mon asnwer? – Alberici

+0

merci. J'ai besoin de voir comment ajuster la solution dans mon application mule car elle utilise le flux batch. Va poster en conséquence. – kishore