PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Accès à différentes DB sur différents serveurs
Accès à différentes DB sur différents serveurs
Débuté par xavier, 06 fév. 2018 08:21 - 7 réponses
Membre enregistré
48 messages
Popularité : +1 (1 vote)
Posté le 06 février 2018 - 08:21
Bonjour,
je suis entrain de développer un site WEBDEV. Voici mon cas:

Je déploie mon site sur un serveur (MonServeur).
Il y a 3 client (cient1, client2, client3) qui ont chacun leurs DB sur leurs serveurs à 3 emplacement différents. (serveur1, serveur2, serveur3). Ces 3 clients utilisent une application WINDEV. Le site WEBDEV est un complément de l'application et doit utiliser la même DB.

Quand un client se connecte sur le site, j'aimerai trouver le meilleur moyen pour relier le client à sa DB.
J'ai lu l'aide mais j'aurais besoin de vos avis svp.

Merci :)
Membre enregistré
382 messages
Popularité : +18 (22 votes)
Posté le 06 février 2018 - 09:50
Bonjour,

Il suffit de lier votre client a une base.
A chaque connexion sur le site, un HChangeConnexion s'effectue sur la connexion de votre client.
En espérant que les tables soient identiques, car sinon, ça vous compliquera la donne.
Membre enregistré
48 messages
Popularité : +1 (1 vote)
Posté le 08 février 2018 - 10:16
Bonjour,
merci pour la réponse. Effectivement le projet WEBDEV a une analyse qui est reliée à la DB qui se trouve sur le serveur contenant le site.
Tous les clients ont un projet WINDEV avec une analyse qui est différente de celle du projet WEBDEV.
Je ne trouve pas le moyen pour exécuter des requêtes sur les DB placées sur le serveur des clients.
J'arrive à ouvrir une connexion avec HOuvreConnexion(...) sur la DB d'un client. Mais je n'arrive pas à exécuter une requête sur cette DB.
Comment pourrais-je procéder?
Merci
Membre enregistré
382 messages
Popularité : +18 (22 votes)
Posté le 08 février 2018 - 11:02
Pouvez-vous en dire plus ? Type de DB, code de la requête,...
Membre enregistré
48 messages
Popularité : +1 (1 vote)
Posté le 08 février 2018 - 13:41
Chaque client a une DB HFSQL Classic placée sur un serveur.

Depuis le site webdev, j'ouvre la connexion vers le serveur placé chez un client.
Exemple:
Connexion est une Connexion
Connexion..Utilisateur = "ADMIN"
Connexion..MotDePasse = "test"
Connexion..Serveur = "monserveur"
Connexion..BaseDeDonnées = "Client"
Connexion..Provider = hAccèsHFClientServeur
HOuvreConnexion(Connexion)


Maintenant, je veux sélectionner un client. Mais la source de données n'est pas reliée à la connexion établie ci-dessus.

ReqClient est une Source dede Données
HExécuteRequêteSQL(ReqClient, "Select Nom AS Nom FROM [Client\CLI_Client] WHERE ClientId = 100")


L'erreur indique: initialisation de la requête impossible, le fichier de donnée Client_CLI_Client est inconnu

Faut-il utiliser une autre commande? HConnecteAccèsDistant() ou autre?
Merci
Message modifié, 08 février 2018 - 13:47
Membre enregistré
382 messages
Popularité : +18 (22 votes)
Posté le 08 février 2018 - 15:06
Alors la, c'est différent.

Si c'est une fichier HFSQL CLassic, il vous faut utiliser :

HDéclareExterne("%CHEMINDUFICHIER%\Fichier.fic","FournisseurWD")


Regardez l'aide a ce sujet.
Membre enregistré
48 messages
Popularité : +1 (1 vote)
Posté le 08 février 2018 - 16:37
Super.
et ça fonctionne aussi en passant la connexion en paramètre.
<Résultat> = HDéclareExterne(<Nom du fichier> , <Nom alias> , <Nom de la connexion>)
merci beaucoup
Membre enregistré
382 messages
Popularité : +18 (22 votes)
Posté le 08 février 2018 - 22:02
Ravi d'avoir pu vous aider. Bon dev !