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

Installation Firebird Discussion :

Information sur ma peudo-install Firebird superserver !


Sujet :

Installation Firebird

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut Information sur ma peudo-install Firebird superserver !
    bonjour,

    Je voudrais avoir une petite aide sur les composants (exe, services, etc...) à installer pour une application client/serveur firebird :

    Sur le Poste serveur


    1 - Lancer le serveur firebird (superserver)
    2 - X:\Répertoire serveur\MA_BDD.FDB

    Sur le ou les postes clients


    X:\Mon_Appli\Mon_appli.EXE
    X:\Mon_Appli\FBCLIENT.DLL renomé en GDS32.DLL ?
    X:\Mon_Appli\CONFIG.INI (Ex. : DataBaseName := IP:X:\Répertoire serveur.FDB)
    Tous va bien, sauf qu’il arrive de temps en temps l’erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    deadlock -  - update conflicts with concurrent update
    Mes question sont les suivantes :
    1. Avez-vous une idée de l’origine de ce deadlock
    2. Pouvez-vous me dire si la pseudo-installation est correcte

    Pour information le serveur est lancé manuellement avec la commande MS-DOS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    D:
    cd D:\Firebird\Firebird_1_5\bin
    fbguard –a
    Sachant que j’ai simplement copié le répertoire Firebird d’un poste A vers un poste B où B devient le serveur de base de données.

    En espérant que mes explications sont claires

    Cordialement
    QAYS

  2. #2
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    hum à priori rien à voir avec l'installation mais plutot un problème de gestion de transaction c'est tout

  3. #3
    Membre éprouvé Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 15
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Points : 912
    Points
    912
    Par défaut
    Citation Envoyé par QAYS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    deadlock -  - update conflicts with concurrent update
    Mes question sont les suivantes :
    1. Avez-vous une idée de l’origine de ce deadlock
    2. Pouvez-vous me dire si la pseudo-installation est correcte
    Ton deadlock est applicatif ?
    Probablement ne gère-tu pas bien les transactions ou celles-ci sont trop longues.

    Quant à ton installation, je ne comprends pas bien la bidouille quand il existe des moyens tellement plus simples que sont les downloads d'installation fournis sur le site de FireBird.
    Enfin apparemment cela fonctionne, je pense que tu dois plutôt regarder du côté de ton code.
    Cela arrive-t-il sur une fonctionnalité particulière ?

    A voir.
    a+

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    Bonjour,

    Merci pour ces élements de réponse.

    Je vais donc voir le code pour le « deadlock »

    Pour ce qui est de mon install voici les raisons « justifiées pour moi et peut être injustifiées pour d’autres»

    J’ai développé une pgm avec une bdd paradox, et lors de l’installation chez des clients je n’ai pas installé à proprement dit le BDE, en effet j’ai simplement copié les DLL et autres fichiers nécessaires dans le répertoire de l’exe.

    Ne mode opératoire m’a été imposé par le fait que je ne voulais pas entendre de la part de mes clients : « Depuis que vous avez installé votre programme notre ordi ne fonctionne plus correctement ».

    En effet lors d’une installation de programme, la base de registre est touchée, les répertoires Windows, Systems et j’en passe sont modifiés et c’est ce que je ne veux pas. Mon installation ou ma pseudo installation ne fait que créer un répertoire contenant l’exe, les DLL (pour le BDE) et la bdd si nécessaire.

    Donc si le poste du client « s’enrhume », je pourrais toujours répondre que mon installation n’a rien à voir avec les disfonctionnements de son poste.

    Ce mode opératoire est totalement viable, car mes programmes tournent correctement et cela depuis plus de 4 ans (pas de pb avec le BDE, les tables paradox sont toujours ok, les multi accès sont ok etc.…) en résumé je suis totalement satisfait du bde et de paradox

    Ayant entendu tellement de bien sur interbase/firebird que j’ai décidé de migrer vers Interbase/firebird mais je voudrais garder le même mode opératoire (que pour le DBE) si cela est possible, sinon j’utiliserais les procédures d’installe de firebird superserveur (serveur et client)

    Voici en quelques lignes pourquoi je pose cette question et pourquoi vous pouvez voir sur le forum bcq de sujet (de QAYS moi) sur le thème des installations de firebrid, des serveurs de bdd etc…

    Pour en revenir à mon sujet, pouvez vous me dire si les élements installés sur le poste serveur et les postes clients sont correctes ?

    A mon sens oui mais je voudrais une confirmation.

    Sur le Poste serveur
    1 - Lancer le serveur firebird (superserver) ==> FbGuard.exe - a
    2 - X:\Répertoire serveur\MA_BDD.FDB.
    3 – Autres choses ????

    Sur le ou les postes clients
    1 - X:\Mon_Appli\Mon_appli.EXE.
    2 - X:\Mon_Appli\FBCLIENT.DLL renomé en GDS32.DLL ?
    3 - X:\Mon_Appli\CONFIG.INI (Ex. : DataBaseName := IP:X:\Répertoire serveur.FDB)
    4 – Autres choses ????


    Cordialement
    QAYS

  5. #5
    Membre éprouvé Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 15
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Points : 912
    Points
    912
    Par défaut
    Bonjour,

    Bien sur si ton mode d'installation fonctionne alors il est correct.

    Pour ce qui est du deadlock c'est autre chose. Il faut d'abord que tu détermine les fonctionnalités entrainant ce message, la ou les tables mise(s) en cause.
    Il faut réduire tes transactions au stricte nécessaire (minimum).

    Enfin il existe un piège auquel in n'échappe pas toujours c'est l'affichage de message. Tout message attendant une réponse de l'utilisateur doit-être affiché en dehors des transactions.

    Ton programme client est réalisé dans quel langage ?

    a+

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    Le programme est en Delphi (7 pro), je vous dirais plus tard dans quelle actions j'ai le message, je pense qu'e c'est mise a jour d'un table (table numéroteur)==> Attribution d'un numero d'identifiant

    Qays

  7. #7
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    1/ sur l'installation
    il me semble t'avoir déjà tout dis, mais je redis que Firebird n'a pas besoin de la base de registre
    les sources du setup officiel sont disponibles, libre à toi de le reprendre et les modifier si besoin et te refaire un setup en suppriment tout ce qui concerne le base de registre dans ce setup qui en fait est inutile
    par contre le setup permet tout de même de vérifier qu'il n'y ait pas déjà Firebird ou Interbase sur la machine
    2/ ton problème de deadlock est applicatif c'est sûr
    et si tu viens du BDE avec Paradox ce n'est pas vraiment etonnant surtout si tu utilise des TTable

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 56
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par QAYS
    ... Pouvez-vous me dire si la pseudo-installation est correcte ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    D:
    cd D:\Firebird\Firebird_1_5\bin
    fbguard –a
    mmm. Pour moi non. Firebird est un serveur de base de données, il est prévu pour fonctionner comme un service. Je crois que le mieux serait de le faire fonctionner comme un service.

    instreg i // installe les clés dans le registre, inutile pour firebird, mais utile pour le gars qui a besoin de savoir où est installé firebird
    instsvc i -s -a -g // installe le service firebird, ca démarrera automatiquement avec la machine. -g installe FirebirdGuardian qui s'occupe de la survie du serveur.
    instsvc start/stop // comme ça tu peux démarrer et arrêter le serveur manuellement, je te conseille plutôt d'utiliser l'API de manipulation des services windows pour le faire. C'est plus transparent.
    instclient i f ou g // installe fbclient.dll dans system32 ou gds32.dll dans system32. Il faut bien faire attention, quand on utilise gds32.dll que celle qui est chargée par le programme est bien celle qui correspond à la version de Firebird qu'on utilise. Beaucoup de softs déploient gds32.dll d'interbase dans system32 et instclient refuse d'installer la version firebird par dessus gds32.dll d'une autre version du serveur. instclient q f ou g permet de connaitre la version d'une DLL fbclient.dll ou gds32.dll qui se trouverait dans le répertoire systeme de windows.

    Sinon... si tu n'as pas besoin d'un accès réseau, je te conseille d'utiliser Firebird "Embedded" plutôt que Firebird "SuperServer", ca t'evite totalement d'installer quoi que ce soit, où que ce soit.

    N'utilise pas le BDE avec Firebird. Réécrit ton appli avec des composants adaptés (UIB par exemple) ou continue avec le BDE+Paradox mais n'utilise pas le BDE pour te connecter à Firebird. C'est là l'origine de ton deadlock, le BDE ne connait pas le modèle transactionnel de Firebird et fait absolument n'importe quoi.

    Ton disque "X:" m'inquiète, j'espère que ce n'est pas un lecteur réseau mappé sur une lettre de lecteur ?

    Si ton X: est un subst d'un répertoire genre C:\Program Files\Ma Societe\MonApplication\LeDossierDeTravail\... tu ferais mieux d'utiliser des Alias, au moins pour la connection à la base de données. Dans C:\Program Files\{Install De Firebird}\aliases.conf tu peux ajouter une ligne comme ça :

    MaBaseDeMonAppli = C:\Program Files\MaSociete\MonApplication\LeDossierDeTravail\LesDonnees\LaBase.FDB

    Et la chaine de connection devient :

    localhost:MaBaseDeMonAppli en local
    LeServeur:MaBaseDeMonAppli en réseau

    Et tu es sûr que le chemin de connexion sera identique pour toutes les connexions. Ca évitera à Firebird de s'emmèler les pinceaux entre les connexions locales qui utilisent X: et les connexions réseau qui utilisent autre chose.

    @+

    --
    Pierre Y.

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    Bonjour,

    Merci pour cette contribution.

    je tiens à ajouter que je n'utilise pas le BDE pour accéder à la base de données Firebird.

    En fait quand je dit que j'ai mis en place un mode de fonctionnement qui me permets (via une directive de compilation) de pointer soit sur une base PDX, IB, ADO ou autre, c'est que j'ai simplement créer un composant qui en fonction de la directive de compile va hériter du bon composant (BDE, IB,ADO etc..).

    Pour ce qui est de l'installe je vais étudier ta proposition.

    Mais je viens de faire un test du entre deux postes (client/serveur) et le mode opératoire que j'ai définie semble fonctionner correctement, pour le moment.

    toutefois je vais continuer les tests pour resoudre ce problème de DeadLock

    Une fois les test finalisés je ne manquerais pas de vous indiquez le resultat.

    PS: Je sais que ce mode de fonctionnement ne plait pas à tout le monde, mais j'aime bien essayer plusieurs choses et voir toutes les possibilités d'un produit ou d'un mode opératoire.

    Encore une merci de vos réponses
    A suivre
    Cordialement
    kaiss Lemmouchi

  10. #10
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    j'ai personnellement aucun problème avec ton mode opératoire, sauf si un jour avec ton installation tu viens casser une installation existante de Firebird, parce que tu n'aura pas vérifié avant que Firebird tournait déjà sur le serveur
    là, si c'est une de mes installations, je peux te dire que tu entendra parler du pays
    mais sinon, cela ne pose aucun problème particulier
    et encore une fois, le deadlock n'a absolument rien à voir avec la méthode d'installation

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    Bonjour,
    [...]sauf si un jour avec ton installation tu viens casser une installation existante de Firebird, parce que tu n'aura pas vérifié avant que Firebird tournait déjà sur le serveur là, si c'est une de mes installations, je peux te dire que tu entendra parler du pays[...]

    Merci pour ces précisions, mais je te rassure :
    1 - Mes programmes sont proposés avec la machine (serveur)(donc vierge de toutes installations).
    2 - Avant d'installer je vérifie toujours (sur les postes clients)
    3 - Mes programmes sont à destination pour d'associations dans le 93, pourle moment

    A la lumière des 3 points ci-dessous et sauf erreur de ma part il m'est impossible de casser, ou d'endomager le travail d'autrui.


    Cordialement

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 06/06/2009, 09h59
  2. Information sur un logiciel installé
    Par ludojojo dans le forum C++Builder
    Réponses: 0
    Dernier message: 29/05/2008, 20h02
  3. Batch: Information sur les programme installé
    Par Senaku-seishin dans le forum Windows
    Réponses: 1
    Dernier message: 20/03/2008, 19h55
  4. Réponses: 2
    Dernier message: 12/06/2007, 10h33
  5. Firebird Superserver sans installation ?
    Par QAYS dans le forum Installation
    Réponses: 4
    Dernier message: 25/08/2006, 15h55

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