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

Bases de données Delphi Discussion :

Partager tables paradox en reseau local


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 98
    Points : 50
    Points
    50
    Par défaut Partager tables paradox en reseau local
    Bonjour

    je veux transformer mon application de facturation monoposte en application
    réseau. J'ai fait des recherches sur les forums mais les reponses ne sont pas clairs. On parle du fichier PDXUSRS.NET , DE LECTEUR LOGIQUE , PARTAGE
    DU REPERTOIRE ?

    Il vaut mieux donner une soulution compléte qu'un bout de solution qui vous déroute.

    Ma question est la suivante :

    1 - Qu'est ce que je dois mettre dans le PC serveur ? (Les tables
    seulement avec partage du repertoire en lecture / ecriture ? )
    sans l'exécutable.

    2 - Qu'est ce que dois mettre sur les postes clients ?
    (Exécutable + lecteur logique + alias oriente vers le serveur
    \\serveur\repdepartage)

    Merci d'avance pour tous les delphistes helpistes ?

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    En fait, tu as déjà tout compris

    L'article "Concevoir une application multi-utilisateur sous Paradox " de SQLPro, avant on avait la page en ligne, maintenant reste plus que le PDF, cela explique pas mal de chose sur Paradox en général

    Sur le Serveur, le Dossier Data complet avec evidemment un partage total !
    J'avais trouvé il y a des années, toute la procédure étape par étape, lien mort !

    Du côté Delphi, le plus important Session.NetFileDir qui doit pointer sur un répertoire partagé contenant PDXUSRS.NET

    Session.PrivateDir
    lui être local, le repertoire de l'exe par exemple
    Spécification des répertoires Paradox

    Une lecture de A Paradox Table Survival Guide for C++Builder and Delphi Developers devrait te donner des éléments d'un point de vue programmation, j'avais constaté qu'il ne fallait pas garder les tables ouvertes en permanence, sinon cela ne mettait pas à jour (voir FlushBuffers)
    Cela remonte à 10 ans, depuis Paradox, j'ai totalement abandonné, ALWEBER ou SQLPro seront plus précis que moi à ce sujet !


    Sinon, certains te diront, que l'EXE peut être aussi sur le serveur pour faciliter le déploiement de version, seul un fichier Conf (ini, xml) existe sur le poste Client et un raccourci pointant sur l'EXE partagé dont le dossier de démarrage pointe le répertoire de PrivateDir
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 496
    Points : 2 762
    Points
    2 762
    Billets dans le blog
    10
    Par défaut
    Premiers éléments :

    Tu partages un dossier sur ton serveur
    tu crée un dossier nommé "Reseau" par exemple

    Sur les postes clients tu connectes le dossier partagé en lui affectant une lettre W par exemple
    Tu affectes sur tous les postes clients l'emplacement de pdoxusr.net à "w:\reseau"
    Tu peux mettre ta base sur cette même unité W: dans un dossier.
    Je vais essayer de retrouver d'autres éléments sur le sujet

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 249
    Points : 357
    Points
    357
    Par défaut
    Ca en fait des souvenirs ça le paramétrage Paradox en réseau...

    J'ai un doute mais on ne peut pas utiliser des UNC (\\monserveur\monpartage) plutôt que des lettres réseau ?

    Parce que les lettres y'a toujours un utilisateur pour les déconnecter... et hop une intervention !

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    246
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 246
    Points : 62
    Points
    62
    Par défaut
    bonsoir;
    la plus simple méthode que je l'ai utilisé dans mes applications c'est de partager le répertoire ou se trouvent les tables avec droit total puis créer un lecteur logique dans les autres PC qui pointe sur le répertoire partagé.
    en plus, après chaque lecture/écriture dans les tables tu dois les fermer pour la mise à jour dans les autres postes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    //   *** partie PARTAGE ***
    function NetShareAdd(servername: LPWSTR;
        level: DWORD;
        buf: pSHARE_INFO_2;
        parm_err: LPDWORD):LongWord; stdcall; external 'netapi32.dll';
     
    function NetShareDel(servername: LPWSTR;
        netname : LPWSTR;
        reserved : DWORD):LongWord; stdcall; external 'netapi32.dll';
     
    procedure TForm1.partager;
    begin
      new(share);
      Share^.shi2_netname := 'OPHT'; //nom de partage du dossier
      Share^.shi2_type := STYPE_DISKTREE; // disk drive
      Share^.shi2_remark := 'OPHT'; // zone commentaire
      Share^.shi2_permissions := ACCESS_ALL; //definition des droits
      Share^.shi2_max_uses := 4;  // nb max de users simultane
      Share^.shi2_current_uses := 0;
      Share^.shi2_path := 'D:\BDD';   //ici le chemin du dossier a partager
      Share^.shi2_passwd := Nil; // nil si pas password
     
      rep := NetShareAdd(nil, 2, SHARE, ParamErr);
      dispose(share);
    end;
     
    procedure TForm1.departager;
    var
      i : integer;
    begin
      i := 0;
      rep := NetShareDel(nil, 'OPHT', 0);
    end;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    //  *** partie connecter lecteur réseau ***
     
    Function TForm2.ConnecteLecteurReseauTest (Lecteur,Chemin,User,MotPasse:String):Boolean;
    Var LocalNameAZT   :Array[0..79]Of Char;
        RemoteNameAZT  :Array[0..80]Of Char;
        Longueur       :Cardinal;
        Retour         :Integer;
    Begin
      // Recherche du chemin existant si existant
      Longueur:=80;
      Retour:=WNetGetConnection(StrPCopy(LocalNameAZT,Lecteur),RemoteNameAZT,Longueur);
      If Retour=NO_ERROR
      Then Begin // Lecteur déjà défini
        If UpperCase(StrPas(RemoteNameAZT))=UpperCase(Chemin)
        Then Begin  // Lecteur déjà existant
          Result:=True;
        End
        Else Begin  // Lecteur exitant mais chemin incorrect
          Retour:=WNetCancelConnection2(StrPCopy(LocalNameAZT,Lecteur),CONNECT_UPDATE_PROFILE,False);
          If Retour=NO_ERROR
          Then Begin // Deconnection du précédent lecteur OK => Connection du nouveau
            Result:=ConnecteLecteurReseau(Lecteur,Chemin,User,MotPasse);
          End
          Else Begin
            AffErreurLecteur(Retour);
            Result:=False;
          End;
        End;
      End
      Else Begin
        If Retour=ERROR_NOT_CONNECTED
        Then Begin // Lecteur non connecté => Connection du nouveau
          Result:=ConnecteLecteurReseau(Lecteur,Chemin,User,MotPasse);
        End
        Else Begin
          AffErreurLecteur(Retour);
          Result:=False;
        End;
      End;
    End;

  6. #6
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 496
    Points : 2 762
    Points
    2 762
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par EMC51 Voir le message
    J'ai un doute mais on ne peut pas utiliser des UNC (\\monserveur\monpartage) plutôt que des lettres réseau ?
    Oui c'est possible.

Discussions similaires

  1. Tables paradox sous reseau et Delphi
    Par solitude dans le forum Bases de données
    Réponses: 3
    Dernier message: 07/04/2009, 20h00
  2. Réponses: 3
    Dernier message: 13/11/2007, 20h46
  3. Partager des tables Paradox
    Par sofianoo dans le forum Bases de données
    Réponses: 24
    Dernier message: 15/04/2007, 11h58
  4. Partager site Php en dans reseau local entreprise
    Par Luverger dans le forum Langage
    Réponses: 35
    Dernier message: 27/02/2007, 15h56

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