IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Acces natif SQLite, analyse et fichier de base [Généralités]


Sujet :

WinDev

  1. #1
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut Acces natif SQLite, analyse et fichier de base
    Bonjour,

    Je me pose une question, qui doit être d'une simplicité crasse, mais je ne trouve pas de réponse...

    Voilà, je créé un nouveau projet, avec une analyse basée sur une base SQLite3.
    Je donne à l'analyse le chemin où se trouve la base et tout se passe bien.

    J'ai fait ma première fenêtre, et je peux accéder à mes données. C'est cool.

    Mais voilà. Ma question est la suivante. Quand je vais installer mon programme ailleurs, ma base de données pourra être situé n'importe où sur le disque, ou même sur un disque partagé sur un autre PC.

    Comment alors, est-ce que, par programmation, je peux changer le lien entre l'analyse et le fichier de données ?

    Cette question concerne SQLite, qui gère une base de données dans un fichier.

    Mais quid d'un SGBD tel que MySQL ou Postgre SQL ? Si j'associe mon analyse à une base de données, (mettons : MaBase), si pour un client je dois installer 2 bases différentes, (db_societeA et db_societeB selon que l'on se connecte à une société ou l'autre)comment dans le programme je peux changer ma connexion ?

    Voilà, je ne suis qu'en phase de début, donc surtout en environnement de développement, mais je dois penser au programme final pour implémenter et tester ces problèmes qui surgir ultérieurement.

    Merci

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 054
    Points : 9 394
    Points
    9 394
    Par défaut
    En fait , l'analyze te permet de décrire les fichiers utilisés ( tel fichier a une colonne id_Client et une colonne nom_client).
    Point final.

    Si le fichier est HF ou Sql ou autre, tu peux effectivement le dire dans l'analyse, mais c'est presque secondaire. Ce que tu vas mettre dans l'analyse pour ces aspects là, ça donnera les paramètres par défaut, mais modifiables ensuite par programmation.

    Quelque part dans ton programme, tu vas devoir prévoir un petit écran de description de la connectique, ou un simple fichier ini si tu ne veux pas t'embéter, et tu vas devoir mettre quelques lignes de code au début de ton programme ; les mots clés pour avoir toutes les infos nécessaire : hDecritconnexion() ou hChangeConnexion()

    cf : https://doc.pcsoft.fr/fr-FR/?3044150
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour

    C'est un sujet qui revient souvent

    Le plus souple est de laisser les fichiers dans l'analyse en type HF Classic et ne déclarer aucune connexion dans l'analyse.
    Ensuite dans le code, en fonction de paramètres lus quelque part (ini, xml ...), déclarer une connexion et l'associer à tes fichiers.
    On peut aussi gérer des connexions multiples, une connexion de test, une autre de prod, plusieurs connexions en même temps etc.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    cnxTest..Serveur = "xxx.xxx.xxx.xxx"
    cnxTest..Utilisateur = "xxxxxx"
    cnxTest..MotDePasse = "xxxxxx"
    cnxTest..BaseDeDonnées = "xxxxxx"
    cnxTest..Provider = hAccèsNatifxxxx
     
    // Tous les fichiers sont associés à la connexion cnxTest
    // On peut aussi le faire fichier par fichier, ou pour un perso-dossier de l'analyse
    HChangeConnexion("*", cnxTest)
     
    SI HOuvreConnextion(cnxTest) ALORS
     
    ....

  4. #4
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    Bonjour,

    Merci pour vos réponses, qui m'éclairent un peu sur les connexions (j'étais resté à WinDev 5.5 )

    Par contre, hpascal, dans l'exemple que tu donnes, le HChangeConnexion est avant le HOuvreConnexion, alors que dans les exemples de pcsoft (lien de tbc92), c'est l'inverse. Le HOuvreConnexion précède le HChangeConnexion.

    Quelle est la bonne méthode ?

    A+
    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  5. #5
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Citation Envoyé par Jon Shannow Voir le message
    Par contre, hpascal, dans l'exemple que tu donnes, le HChangeConnexion est avant le HOuvreConnexion, alors que dans les exemples de pcsoft (lien de tbc92), c'est l'inverse. Le HOuvreConnexion précède le HChangeConnexion.

    Quelle est la bonne méthode ?
    En fait je faisais aussi dans l'ordre HOuvreConnexion puis HChangeConnexion.
    Mais ça c'était avant ... :-)
    Je suis tombé sur cette page qui préconise l'ordre inverse pour une optimisation : https://doc.pcsoft.fr/fr-FR/?9000176
    Effectivement les exemples de PCSOFT n'appliquent pas ce conseil.

  6. #6
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    Cette méthode semble s'appliquer sur les base HFSQL, quid des bases externes, telles que SQLite, MySQL, PostGré SQL, ... ?

    De toutes façons, ta solution fonctionne, donc, je mets en

    Merci à tous pour votre aide.

    et ... I'll be back
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  7. #7
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Je pense que le principe est général
    Dans tous les cas, ça ne doit être perceptible que sur des très grosses bases
    Mais HF étant tellement mauvais c'est peut être plus utile

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/04/2014, 15h02
  2. [WM17] [Help] Erreur d 'accés natif sqlite
    Par Chiheb Nabil dans le forum Windev Mobile
    Réponses: 1
    Dernier message: 23/08/2013, 07h16
  3. Réponses: 10
    Dernier message: 19/02/2009, 11h45
  4. [WD9] Accès natifs vers une base Oracle 9.0
    Par tresorkoul dans le forum WinDev
    Réponses: 7
    Dernier message: 18/12/2008, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo