Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Membre du Club
    Inscrit en
    décembre 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : décembre 2006
    Messages : 213
    Points : 48
    Points
    48

    Par défaut La commande commit ?

    Bonjours,

    Si j'ai bien compris la commande comit va écrire sur le disque.

    Mai une fois que c'est fait plus moyen de crée une table (c'est un exemple).
    j'obtiens un message du genre:
    Code :
    1
    2
    3
    4
     
    terminate called after throwing an instance of 'pqxx::usage_error'
      what():  Error executing query .  Attempt TO activate transaction<READ COMMITTED> which IS already closed
    Abandon
    je doit faire quoi pour pouvoir poursuivre les autres requêtes sql

    je précise que j'utilise posgresql 8.4 sous debian squeez(stable) que j'y accède en c++ avec la lib libpqxx, mai je me ser aussi du shell si besoins

    Merci d'avance

  2. #2
    Membre régulier
    Inscrit en
    octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : octobre 2006
    Messages : 124
    Points : 91
    Points
    91

    Par défaut

    Bonjour,
    Avant de lancer un commit, avez vous bien lancé un "start transaction" ?
    Bonne journée
    MS

  3. #3
    Membre du Club
    Inscrit en
    décembre 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : décembre 2006
    Messages : 213
    Points : 48
    Points
    48

    Par défaut

    bonjours, Merci pour votre réponse

    je me connect a la base puis utilse

    Code :
    1
    2
    3
     
    		p_connect	= new pqxx::connection(cCT.StringChar(login));
    		p_work 		= new pqxx::work (*p_connect);
    documentation de la lib:
    pour la connection (je ne peux pas coller ici sa polluerai le forum)
    http://pqxx.org/devprojects/libpqxx/...tml/Reference/
    pour works
    http://pqxx.org/devprojects/libpqxx/...ansaction.html

    ensuite sa me permet de crée mes première tables

    je vais voir a quoi correspond un start transaction
    (je suis un gros débutant en base de donnée)

    merci encore pour ta réponse

  4. #4
    Membre régulier
    Inscrit en
    octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : octobre 2006
    Messages : 124
    Points : 91
    Points
    91

    Par défaut

    Bonjour,
    un "start transaction" débute un bloc de transaction et commit la valide.
    Rollback l'invalide.
    L'utilité est de s'assurer que la transaction se déroule entièrement ou pas du tout (par ex en cas de coupure de courant).
    Bonne journée
    MS

  5. #5
    Membre du Club
    Inscrit en
    décembre 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : décembre 2006
    Messages : 213
    Points : 48
    Points
    48

    Par défaut

    j'étais pas loin works doit être rappeler pour la nouvelle transaction (attention a la suppression du pointeur pour ceux qui code en c / c++)

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro Frédéric BROUARD
    Expert SGBDR & SQL
    Inscrit en
    mai 2002
    Messages
    13 343
    Détails du profil
    Informations personnelles :
    Nom : Homme Frédéric BROUARD
    Localisation : France

    Informations professionnelles :
    Activité : Expert SGBDR & SQL
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 13 343
    Points : 27 420
    Points
    27 420

    Par défaut

    Citation Envoyé par panthere noire Voir le message
    Bonjours,

    Si j'ai bien compris la commande comit va écrire sur le disque.
    COMMIT valide une transaction. Rien à voir avec l'écriture des données sur le disque qui dans un SGBDR C/S est asynchrone.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
    http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  7. #7
    Membre du Club
    Inscrit en
    décembre 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : décembre 2006
    Messages : 213
    Points : 48
    Points
    48

    Par défaut

    Merci pour le complément

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •