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 :

Multiposte / D7 + FIREBIRD 2


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut Multiposte / D7 + FIREBIRD 2
    Bonjour,

    Mon appli fonctionne avec un composant IBDATASET.

    Lorsque je modifie ou ajoute(edit ou insert) des données dans ma base cela fonctionne très bien sur le poste ou je fais mes opérations, mais sur un autre poste je suis obligé de fermer la base et de la réouvrir pour voir les modif faitent par le premier poste.

    J'ai testé avec des commit et des commitretaining, il n'y a rien à faire si ce n'est bien sur pour le poste sur lequel e fait la modif.

    J'ai cherché partout et je n'ai pas trouvé de solution.

    Y a t'il un moyen plus judicieux que de fermer et ouvrir la base pour régler le problème?

    Merci d'avance.

    Jer

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Quel est l'isolation level positionné pour les transactions ?

    Il faut aussi savoir que les composants natifs de Dephi sont peu appropriés pour attaquer Firebird 2: les composants UIB sont préférables
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    Pour les composants UIB, j'ai commencé mon développement avec, mais je n'ai eu que des ennuis car j'ai mal installé le paquet, j'ai même utilisé FBDATASET qui me semble sympa.

    J'ai le même problème quelque soit le type de composant.

    Je ne sais pas ce que veut dire "isolation level"???

    Merci d'avance.

    Jer

  4. #4
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    tu devra appeler un commit de ton objet transaction apres le post.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    Bonour,

    C'est fait, mais cela ne change rien sur le deuxième PC à moins de fermer sur le deuxième pc le database.

    Le commit fonctionne sur le pc qui fait les modif ou l'ajout.

    ??????

    Jer

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    J'ai réinstallé cette fois-ci correctement les composants UIB et FBDATASET.

    J'ai le même problème même avec un commit.

    Jer

  7. #7
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    c'est tous a fait normal que vous ne pouvez pas voir instantanément les enregistrements ajouter par les autres poste,essai d'exécuter une requette de rafrichissement.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    Quelle requête puis-je utiliser? J'ai essayé celle-ci sans succé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    datamodule1.FBDATASET1.REFRESH;
    Merci d'avance

  9. #9
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    La méthode Refresh du FBDataSet appelle la requête que tu as définit pour SQLRefresh.
    C'est peut-être cette requête qu'il faut vérifier.

    @+ Claudius

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    J'ai bien renseigné ma chaine sql dans le refreshsql de mon fbdataset:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    select champ1,champ2 from matable where champ1=:champ1
    Je n'ai aucun message d'erreur lorsque je lance mon refresh avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    fbdataset1.refresh
    Mais mon deuxième poste ne peut toujours pas se mettre à jour sans fermer le database au préalable????????

  11. #11
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    il faut lancer le refrech dans l'autre poste et non dans celui qui ajoute l'enrgistrement.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    J'ai testé cette dernière proposition, cela ne marche pas non plus ???

    Jer

  13. #13
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    une idée comme ça, au lieu de faire un refresh ferme et réouvre ton dataset.

  14. #14
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    C’est pas normal que sa ne marche pas avec le refrech, il y a une requête SELECT derrière la commande.

    vous avez ecrit.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select champ1,champ2 from matable where champ1=:champ1
    cette commande rafraichit uniquement l'enregistrement en court au niveau de ton post.


    Vous devez placer un timer au niveau de ton application qui va rafraichir toutes les tables qui sont sensé être mise à jour.

  15. #15
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    @aityahia
    Citation Envoyé par aityahia
    Vous devez placer un timer au niveau de ton application qui va rafraichir toutes les tables qui sont sensé être mise à jour.
    excuse moi mais je crois que cette solution serait une faute de conception grave, car dans le temps elle deviendrais ingérable et source d'erreurs.
    de plus si il ne peut déjà pas rafraichir manuellement, comment le ferait il dans un timer ?

  16. #16
    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,

    j'ai eu le "problème" lors de dév avec Firbird, ma solution à été la suivante: Attention elle peut choquer mais cela marche.

    En fait à chaque fois que je veux acceder à ma base je créer une nouvelle transaction et lorsque que j'ai fini la lecture je détruit la transaction.

    l'avantage de cette solutionc'est qu'elle me permets de "créer" à chaque lecture une "nouvelle transaction" à la base et ainsi toutes les mises à jour (commit) faites par d'autres postes (clients/serveurs) sont lisibles.

    En esperant que cela pourra t'aider

    Cordialement

  17. #17
    Membre expérimenté
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Points : 1 331
    Points
    1 331
    Par défaut
    As tu bien utilisé un composant IBTransaction (puisqu'il utilise les composants IBx) ?

    Si oui il faudrais double cliquer dessus et regarder les paramètres. En réseau j'utilise généralement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    read_committed
    rec_version
    nowait
    Read committed étant coché.

    Ensuite une ouverture/fermeture du dataset devrais raffraichir sans problème.

    Sinon verifie que tu as bien renseigné la propriété 'RefreshSQL' du dataset.

    Attention le .NET sur PDA peut causer des chutes de cheveux

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    Merci pour vos réponse, mais ouvrir et fermer le dataset ne fait rien, pour le timer cela ne change effectivement rien puisque manuellement cela ne marche pas.

    La seule chose qui marche c'est de fermer et de réouvrir le jvuibdatabase. Mais cela me semble trop lourd et je suis certain qu'il y a autre chose de plus souple.

    ?????

    Merci d'avance.

    Jer

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    oups

    Excusez moi je n'avais pa vu les 2 derniers messages que je vais étudier.

    Jer

  20. #20
    Membre habitué Avatar de Archibald29
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 112
    Points : 131
    Points
    131
    Par défaut [FB] Mise à jour des transactions lors déconnexion
    Bonjour,

    N'es tu pas connecté sous le même identifiant "FireBird" à partir de chacun des postes ? Il me semble avoir expérimenté un cas semblable solutionné lorsque j'ai créé un identifiant "FireBird" propre au poste réseau qui avait été rajouté.


+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Débat] Choisir InterBase/Firebird ou Microsoft SQL-SERVER ?
    Par asenaici dans le forum Décisions SGBD
    Réponses: 90
    Dernier message: 19/03/2009, 20h51
  2. [FIREBIRD]Drivers ODBC
    Par tripper.dim dans le forum Connexion aux bases de données
    Réponses: 10
    Dernier message: 24/04/2007, 11h02
  3. [firebird] Connexion impossible en lecture seule
    Par severine dans le forum Administration
    Réponses: 2
    Dernier message: 01/08/2003, 15h35
  4. Refus d'accès à une base Firebird
    Par severine dans le forum Installation
    Réponses: 18
    Dernier message: 04/06/2003, 16h03

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