|
PROFESSIONAL NEWSGROUPS WINDEV, WEBDEV and WINDEV Mobile |
| | | | | |
| [WD15] Connexion à une autre base de données |
| Started by bard.julien, Feb., 26 2010 10:36 AM - 2 replies |
| |
| | | |
|
| |
| Posted on February, 26 2010 - 10:36 AM |
| Bonjour quel est le protocole à metttre en place pour accéder à une autre base de données? Car en modifiant le code du projet ou en touchant les paramètres du fichier .ini; toujours un message d'erreur alors que je respecte le même formalisme que la connexion initiale!!! |
| |
| |
| | | |
|
| | |
| |
| Posted on February, 27 2010 - 3:20 PM |
Bonjour
et si tu nous montrais ton code qui ne fonctionne pas, et qu'en plus tu nous copiait ici le message d'erreur obtenu ?
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
Plus d'information sur http://fabriceharari.com/index_FR.html
On 2/26/2010 4:36 AM, bard wrote:
Bonjour quel est le protocole à metttre en place pour accéder à une autre base de données? Car en modifiant le code du projet ou en touchant les paramètres du fichier .ini; toujours un message d'erreur alors que je respecte le même formalisme que la connexion initiale!!!
|
| |
| |
| | | |
|
| | |
| |
| Posted on March, 03 2010 - 1:17 PM |
////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////// // // HONOLULU // © 2009, PC SOFT. Tous droits réservés // // //Le CLIENT représente la personne (physique ou morale) s'étant procurée le LOGICIEL. //Le LOGICIEL désigne le droit d'utilisation du logiciel HONOLULU. //Le SERVEUR D'APPLICATION désigne la partie du LOGICIEL nécessaire à l'exécution des programmes de HONOLULU. // //1- Licence //Cette licence d'utilisation est concédée au CLIENT, sans contrepartie financière, sous réserve pour le CLIENT de //respecter les termes de cette licence. Aucun paiement n'est requis pour utiliser le LOGICIEL. //Le SERVEUR D'APPLICATION inclus avec cette version ne peut être utilisé que pour faire fonctionner HONOLULU //en l'état et les applications livrées avec HONOLULU, en l'état. // //2- Propriété du LOGICIEL //Ce LOGICIEL est la propriété de PC SOFT. //Le CLIENT a simplement le droit d'utiliser ce LOGICIEL. //Le CLIENT a également le droit de modifier le LOGICIEL, selon les clauses indiquées par ailleurs dans cette licence. // //3- Copie de sauvegarde //La duplication de ce LOGICIEL est autorisée. Tout utilisateur de ce LOGICIEL doit accepter les clauses de la licence. //Le CLIENT est autorisé à effectuer une copie de sauvegarde du CD ROM composant ce LOGICIEL. // //4- Utilisation //Le CLIENT doit utiliser le LOGICIEL pour l'usage pour lequel il est publié. Il est interdit de modifier ou tenter de modifier //les parties concernant la présentation de la société PC SOFT, de WINDEV et de WEBDEV dans HONOLULU. //Il est interdit d'enlever ou de tenter d'enlever les mentions de copyright pouvant apparaître et/ou étant contenues dans le LOGICIEL. //La vente et la location de ce LOGICIEL sont interdites. Par contre, ce LOGICIEL en l'état peut être diffusé gratuitement. // //5- Modification du LOGICIEL //Dans le cas où le CLIENT désire modifier les fonctionnalités du logiciel, le CLIENT doit posséder au moins une licence du //produit WINDEV et du produit WEBDEV dans une version permettant la modification du code source. //Le CLIENT doit installer une version du logiciel SERVEUR D'APPLICATION WEBDEV sur chaque serveur utilisant le LOGICIEL modifié. //L'application résultant du code source modifié ne pourra être utilisée qu'à l'intérieur de la société (maison mère et filiales //incluses) du CLIENT. La vente et la location de ce LOGICIEL modifié sont interdites. //La mention suivante devra obligatoirement être ajoutée en début de page de présentation, dans une police de taille très lisible : //" Ce logiciel a été originellement réalisé par PC SOFT, puis a été modifié par [nom et adresse du CLIENT] ". //Les mentions de copyright de PC SOFT devront être modifiées en " Parties de ce logiciel copyright PC SOFT. //Logiciel modifié par [nom et adresse du CLIENT] ". // // ////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////
// // Traitement général des exceptions // gbErreurFatale est un booléen gsErreurInfo est une chaîne gsPageCourante est une chaîne gsInfoException est une chaîne gsIdentifiant est une chaîne gsLangue est une chaîne
// Langue gsLangue = CookieLit(COOKIE_LANGUE) SI Val(gsLangue) <> 1 ET Val(gsLangue) <> 2 ALORS gsLangue = INILit("HONOLULU","LANGUAGE","FR",fRepDonnées() + "\HONOLULU.INI") // Mise en place de la langue SELON gsLangue CAS "FR": Nation(nationFrançais) CAS "EN": Nation(nationAnglais) AUTRE CAS: dbgAssertion(Faux,"Type de langue non géré") FIN SINON // Mise en place de la langue du cookie SELON gsLangue CAS "1": Nation(nationFrançais) CAS "2": Nation(nationAnglais) FIN FIN
QUAND EXCEPTION // Réactive les exceptions ExceptionActive() // Si une exception survient alors qu'on est déjà en erreur fatale SI gbErreurFatale ALORS gsInfoException = gsErreurInfo SINON SI ExceptionInfo(errCode) DANS (10085,74000,70204,74001,74020) ALORS gsInfoException = ""+TAB+""+TAB+""+TAB+"Vérifiez qu'un serveur Hyper File est bien installé et correctement configuré." + ExceptionInfo(errComplet) SINON gsInfoException = ExceptionInfo(errComplet) FIN FIN // En mode développement : affiche un assert dbgAssertion(Faux, ExceptionInfo(errComplet)) SI EnModeAWP() = Faux ALORS SI EnModeAJAX() = Faux ALORS // En mode classique : affiche la page d'erreur PageAffiche(PAGE_Erreur, gsInfoException) SINON // On met à jour des variables pour la gestion des erreur gbErreurFatale = Vrai gsInfoException = ""+TAB+""+TAB+""+TAB+"Vérifiez qu'un serveur Hyper File est bien installé et correctement configuré." + ExceptionInfo(errComplet) // En mode AJAX SI PAS (PageCourante() ~= "" ET gsPageCourante ~= "") ALORS // On est dans une page // On affiche l'erreur dans la page SI gsPageCourante = "" ALORS gsPageCourante = PageCourante() FIN ExécuteTraitement(gsPageCourante + ".WDialogueEx", trtProcédure, "Une erreur inattendue est survenue :" + RC + "<b>Le serveur de données ne répond plus</b>", "OK" + TAB + "1", "OnErreurHF", "Erreur", "%web%/images/msgbox/error.png") FIN FIN SINON // En mode AWP : affiche l'erreur Erreur(gsInfoException) FIN RETOUR FIN
// // Déclaration des variables //
CONSTANT CS_VERSION = 14 CS_NOM_SERVEUR_HONOLULU_CS = "HONOLULU" + CS_VERSION // Identification HFCS CS_UTILISATEUR = "ADMIN_" + CS_NOM_SERVEUR_HONOLULU_CS CS_PASSWORD_CS = "PCSH" + CS_VERSION CS_PASSWORD_CS_UTILISATEUR = "H" + CS_VERSION + "USER" CS_ALIAS_MOTEUR = "H" + CS_VERSION + "AWP" // Nom de l'alias du moteur CS_NOM_MOTEUR_AWP = CS_ALIAS_MOTEUR + ".EXE" // Droits des utilisateurs CS_DROITS_UTILISATEUR = hDroitAjout + hDroitConnexion + hDroitGèreDoublon + hDroitGèreIntégrité + hDroitLecture + hDroitMaintenance + ... hDroitModification + hDroitSuppression + hDroitExécutionProcédure + hDroitGestionProcédure // Droits des administrateurs CS_DROITS_UTILISATEURS_ADMIN = CS_DROITS_UTILISATEUR + hDroitChangeDroit + hDroitBlocage // Parametre PARAM_FONDECRAN = "FOND_ECRAN" // Cookie COOKIE_FONDECRAN = "BULLE_FONDECRAN" COOKIE_AUTOLOGIN = "HONOLULU_AUTOLOGIN_F" COOKIE_IDENT = "HONOLULU_IDENTIFICATION_F" COOKIE_USER = "HONOLULU_USERNAME_F" COOKIE_LANGUE = "HONOLULU_LANGUE_F" FIN
// Structure permettant de stocker les informations de l'utilisateur actuellement connecté STUtilisateurCourant est une structure IDUtilisateur est un entier Login est une chaîne MotDePasse est une chaîne NomAffiché est une chaîne Nom est une chaîne Prénom est une chaîne Email est une chaîne Avatar est un Buffer AgendaPublic est un booléen EstAdministrateur est un booléen EstModérateur est un booléen EstSupprimé est un booléen EmailAutorisé est un booléen EstConnecté est un booléen QuestionMotDePasse est un entier RéponseMotDePasse est une chaîne DateHeureCréation est une DateHeure DateHeureConnexion est une DateHeure Signature est une chaîne FIN
STNavigateur est une structure Acronyme est une chaîne UserAgent est une chaîne Version est un réel MozillaVersion est un réel FIN
// Informations sur le navigateur en cours NavigateurClientEnCours est un STNavigateur // Informations sur l'utilisateur en cours UtilisateurEnCours est un STUtilisateurCourant // En cas de connexion au site via une ligne de commande gsSuiteCmd est une chaîne // Extension de pages AWP AWP_EXT est une chaîne
// Nom affiché par défaut UtilisateurEnCours:NomAffiché = "Invité"
// Fichier INI présent ? SI PAS fFichierExiste(fRepDonnées() + "\HONOLULU.INI") ALORS sConfigErreur est une chaîne sConfigErreur = "Le fichier de configuration HONOLULU.INI n'a pas été trouvé dans le répertoire %1." PageAffiche(PAGE_Erreur,ChaîneConstruit(sConfigErreur,fRepDonnées())) FinProgramme() FIN
// Analyse en mode compatibilité HVérifieStructure("*", hCompatible)
// // Connexion à la base de données // SI EnModeTest() ALORS RegistreSupprimeValeur("HKEY_LOCAL_MACHINE\SOFTWARE\PC SOFT\WEBDEV\"+CS_VERSION+".0", "URLMODETEST") FIN gcnxConnexion est une Connexion gcnxConnexionDemo est une Connexion gsPassWordUser est une chaîne gbModeDemo est un booléen
// Lectures des informations de configuration LOCAL sMotDePasse est une chaîne sRepINI est une chaîne = fRepDonnées()
// Mot de passe administrateur sMotDePasse = INILit("HFCS", "ADMIN_PASSWORD", CS_PASSWORD_CS, sRepINI + "\HONOLULU.INI")
// Décryptage du mot de passe si nécessaire SI sMotDePasse <> CS_PASSWORD_CS ALORS sMotDePasse = Décrypte(sMotDePasse, csCryptageMdp, crypteSécurisé, Vrai) FIN
// Mot de passe des comptes utilisateur gsPassWordUser = INILit("HFCS", "USER_PASSWORD", CS_PASSWORD_CS_UTILISATEUR, sRepINI + "\HONOLULU.INI")
// Décryptage du mot de passe si nécessaire SI gsPassWordUser <> CS_PASSWORD_CS_UTILISATEUR ALORS gsPassWordUser = Décrypte(gsPassWordUser, csCryptageMdp, crypteSécurisé, Vrai) FIN
// Activation du mode DEMO gbModeDemo = INILit("DEMO", "DEMOACTIVE", "OFF", sRepINI + "\HONOLULU.INI") = "ON"
// Extensions des pages AWP AWP_EXT = EnModeTest() ? "AWP" SINON INILit("HONOLULU", "HAWP", "awp", sRepINI + "\HONOLULU.INI")
gcnxConnexion..BaseDeDonnées = INILit("HFCS", "DATABASE", "", sRepINI + "\HONOLULU.INI") gcnxConnexion..Serveur = INILit("HFCS", "SERVER", "", sRepINI + "\HONOLULU.INI") gcnxConnexion..Utilisateur = INILit("HFCS", "ADMIN_USERNAME", CS_UTILISATEUR, sRepINI + "\HONOLULU.INI") gcnxConnexion..MotDePasse = sMotDePasse gcnxConnexion..Provider = hAccèsHFClientServeur
// Connexion en mode ADMINISTRATEUR pour le lancement du site HChangeConnexion("*", gcnxConnexion) SI ErreurDétectée ALORS dbgAssertion(Faux, ""+TAB+""+TAB+"Impossible de se connecter au serveur Hyper File.") FIN
// Mot de passe HPasse("*", csCryptageMdp)
SI EnModeAWP() ALORS
// On tente de récupère l'identifiant gsIdentifiant = PageParamètre("AWPSESSIONID") SI gbModeDemo ALORS SI gsIdentifiant ~= "" ALORS // Pas d'identifiant ExceptionDéclenche(1, "Informations de session incorrectes") RETOUR FIN // Au démarrage de Honolulu, l'utilisateur connecté possède les droits d'administration // On en profite pour créer la base gcnxConnexionDemo..BaseDeDonnées = gsIdentifiant gcnxConnexionDemo..Serveur = gcnxConnexion..Serveur gcnxConnexionDemo..Utilisateur = gcnxConnexion..Utilisateur gcnxConnexionDemo..MotDePasse = sMotDePasse gcnxConnexionDemo..Provider = gcnxConnexion..Provider // Modifie la connexion gcnxConnexion = gcnxConnexionDemo // Connexion en mode ADMINISTRATEUR pour le lancement du site HChangeConnexion("*", gcnxConnexion) // Mot de passe HPasse("*", csCryptageMdp) FIN SINON // Crée un identifiant unique gsIdentifiant = Remplace(GénèreClé(), "-", "") // MODE DEMONSTRATION SI gbModeDemo ALORS // En mode démonstration, il faut : // - Créer une base de données temporaire // - Copier les données de la base source vers la base temporaire // - Changer la connexion vers la base temporaire // Au démarrage de Honolulu, l'utilisateur connecté possède les droits d'administration // On en profite pour créer la base gcnxConnexionDemo..BaseDeDonnées = gsIdentifiant gcnxConnexionDemo..Serveur = gcnxConnexion..Serveur gcnxConnexionDemo..Utilisateur = gcnxConnexion..Utilisateur gcnxConnexionDemo..MotDePasse = sMotDePasse gcnxConnexionDemo..Provider = gcnxConnexion..Provider // Ouvre la connexion vers la nouvelle base de données HOuvreConnexion(gcnxConnexionDemo) // Copie les fichiers de données de la base source vers la base temporaire sListeFichiers est une chaîne sFichier est une chaîne sListeFichiers = HListeFichier(gcnxConnexion) POUR TOUTE CHAINE sFichier DE sListeFichiers SEPAREE PAR RC HCopieFichier(gcnxConnexionDemo, sFichier, gcnxConnexion, sFichier, hCopieIndex) FIN // Ferme la connexion HFermeConnexion(gcnxConnexionDemo) HFermeConnexion(gcnxConnexion) // Modifie la connexion gcnxConnexion..BaseDeDonnées = gcnxConnexionDemo..BaseDeDonnées // Connexion en mode ADMINISTRATEUR pour le lancement du site HChangeConnexion("*", gcnxConnexion) // Mot de passe HPasse("*", csCryptageMdp) // On crée un compte de démonstration Utilisateur.DateHeureCréation = DateDuJour + Maintenant Utilisateur.Login = "DEMOHONOLULU" Utilisateur.MotDePasse = "DEMO" Utilisateur.NomAffiché = "Compte de démo" Utilisateur.Nom = "HONOLULU" Utilisateur.Prénom = "Démo" HAjoute(Utilisateur) // Si le compte HFCS de l'utilisateur n'existe pas, on doit le créer SI PAS HInfoUtilisateur(gcnxConnexion, "DEMOHONOLULU") ALORS // Crée le compte HFCS de l'utilisateur HUtilisateur.Login = "DEMOHONOLULU" HUtilisateur.MotDePasse = gsPassWordUser HAjouteUtilisateur(gcnxConnexion) // Ajoute l'utilisateur dans la liste "Utilisateurs" HInfoGroupe(gcnxConnexion, "Utilisateurs") HGroupe.Utilisateurs += [RC] + "DEMOHONOLULU" HModifieGroupe(gcnxConnexion, "Utilisateurs") FIN // Active les droits de base HFCSDésactiveDroitAdministrateur(gcnxConnexion, "DEMOHONOLULU") // FIN HOuvre("*", csCryptageMdp) SI ErreurDétectée ALORS dbgAssertion(Faux, ""+TAB+""+TAB+"Impossible de se connecter au serveur Hyper File.") FIN // Mise à jour de la collection de procédures du moteur de recherche HMiseAJourCollection(gcnxConnexion, "pMoteurCS", Faux) SI ErreurDétectée ALORS dbgAssertion(Faux, ""+TAB+""+TAB+"Impossible de se connecter au serveur Hyper File.") FIN // // Traitements des lignes de commandes // sCmdRSS est une chaîne sCmdRSS = PageParamètre("rss") // Flux RSS SI sCmdRSS <> "" ALORS // RSS sur les actualités SI sCmdRSS DANS ("news", "actu") ALORS ChaîneAffiche(GénèreFluxActualités(), "text/xml") FinProgramme(Vrai) FIN FIN sCmdVoir est une chaîne sCmdVoir = PageParamètre("go") // Accès direct à une page SI sCmdVoir <> "" ALORS SELON Minuscule(sCmdVoir) // Voir une actualité CAS "actu" SI PageParamètre("actuid") <> "" ALORS gsSuiteCmd = "PageAffiche(""PAGE_PortailActualites"", """ + PageParamètre("actuid") + """)" SINON gsSuiteCmd = "PageAffiche(""PAGE_PortailActualites"")" FIN // Accès direct au WIKI CAS "wiki" gsSuiteCmd = "PageAffiche(""PAGE_PortailWIKI"")" // Accès direct à l'agenda CAS "agenda", "calendar" gsSuiteCmd = "PageAffiche(""PAGE_PortailAgenda"")" // Accès direct à la messagerie CAS "messagerie", "mail" gsSuiteCmd = "PageAffiche(""PAGE_PortailMessagerie"")" // Accès direct aux partages CAS "partages", "share" gsSuiteCmd = "PageAffiche(""PAGE_PortailPartages"")" // Accès direct aux blogs CAS "blogs" gsSuiteCmd = "PageAffiche(""PAGE_PortailBlogs"")" // Accès direct aux forums CAS "forums" gsSuiteCmd = "PageAffiche(""PAGE_PortailForum"")" // Accès direct à l'annuaire CAS "annuaire", "contacts" gsSuiteCmd = "PageAffiche(""PAGE_PortailAnnuaire"")" FIN FIN // Test du navigateur NavigateurVérifieCompatibilité() FIN |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|