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

Persistance des données Java Discussion :

iBatis/Eclipse - Rollback


Sujet :

Persistance des données Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Points : 35
    Points
    35
    Par défaut iBatis/Eclipse - Rollback
    Bonjour à tous,

    J'utilise actuellement Eclipse ainsi que la bibliothèque iBatis afin de lire un fichier SQL (script) directement depuis Eclipse. Mais je rencontre un problème. Je m'explique : je souhaiterais que, lorsque un script est mal éxecuté (pour n'importe quelle raison), on effectue un rollback afin de revenir en arrière, et ce sans toucher au fichier script, mais au code Java dans Eclipse.

    Or, lorsque j'exécute un rollback après l'exécution de mon script, rien ne ce passe, il ne revient pas en arrière. Je me demande si cette fonctionnalité est réalisable du fait que je passe par un fichier script et non par des requêtes à la main dans mon fichier Java :s ...

    Fichier Java utilisant iBatis :
    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
    String monScript = "script.sql";
     
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			Connection cn = DriverManager.getConnection("jdbc:mysql://localhost/ahiweb", "root", "root");
     
    			Statement st = null;
     
    			ScriptRunner sr = new ScriptRunner(cn);
    			Reader r = new BufferedReader(
    					new FileReader(monScript)); //fichier placer à la racine du proget
    			sr.runScript(r);
    			cn.rollback(); //rien ne ce passe ici
     
     
    		}
    Fichier sql :

    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
    START TRANSACTION;
     
    INSERT into ahiweb.utilisateur VALUES ('955', '55', '117', 'Tata', 'Titi', 'toto', 'toto', '2', '1', 'toto@gmail.com', '1', '0656565656', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '0', '0', '0', '0', '0' );
    INSERT into ahiweb.utilisateur VALUES ('956', '55', '117', 'Tutu', 'Titi', 'toto', 'toto', '2', '1', 'toto@gmail.com', '1', '0656565656', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '0', '0', '0', '0', '0' );
     
    CREATE TABLE `ahiweb`.`tabletest` (
      `idtabletest` INT NOT NULL AUTO_INCREMENT COMMENT '',
      `nomtabletest` VARCHAR(45) NULL COMMENT '',
      `numerotabletest` INT NULL COMMENT '',
      `villetabletest` INT(10) UNSIGNED NULL COMMENT '',
      PRIMARY KEY (`idtabletest`)  COMMENT '',
      INDEX `FKTest_idx` (`villetabletest` ASC)  COMMENT '',
      CONSTRAINT `FKTest`
        FOREIGN KEY (`villetabletest`)
        REFERENCES `ahiweb`.`adr` (`id`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION);

  2. #2
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Tu as un create table dans ton script : ça provoque un commit automatique de ce qu'il y a avant.

    Ne jamais mélanger DML (data manipulation language : select, insert, etc..) et DDL (data definition language : create table...)


    Accessoirement, un objet Connection est toujours en mode autocommit par défaut, mais ça devrait te renvoyer une exception si tu fais un rollback dessus
    Je ne suis pas mort, j'ai du travail !

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Citation Envoyé par javadoc
    public interface Connection
    extends Wrapper, AutoCloseable
    [...]
    Note: When configuring a Connection, JDBC applications should use the appropriate Connection method such as setAutoCommit or setTransactionIsolation. Applications should not invoke SQL commands directly to change the connection's configuration when there is a JDBC method available. By default a Connection object is in auto-commit mode, which means that it automatically commits changes after executing each statement. If auto-commit mode has been disabled, the method commit must be called explicitly in order to commit changes; otherwise, database changes will not be saved.
    [...]
    Pour changer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cn.setAutoCommit(false);
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    Bonjour eulbobo et merci de me répondre,

    En effet j'ai un create table, mais même si je l’enlève, cela ne fonctionne pas, rien ne se passe..

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    Bonjour joel.drigo,

    je viens d’essayer avec ta ligne de code en plus mais ça ne change rien

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Sous mySql (cf), comme la dit @eullbobo, le create table fait un commit implicite (on peut faire des transactions pour pouvoir faire un rollback sur du DDL sur d'autres SGBD).

    Si tu veux tester que ça fait bien un rollback, retire le create table (ou modifie le pour qu'il provoque une erreur, et fait le rollback dans le catch).

    [EDIT]Après il faudrait regarder ce que fait ScriptRunner à ce propos (je ne connais pas du tout iBastis, je ne peux pas dire)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    Le retirer j'ai essayer, et rien ne change Je vais essayer de faire le rollback dans le catch pour voir ...

    [EDIT] Quelle exception par exemple? car par défaut c'est la noClassFound exeption ^^

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    [EDIT]Après il faudrait regarder ce que fait ScriptRunner à ce propos (je ne connais pas du tout iBastis, je ne peux pas dire)
    A regarder le source du ScriptRunner, Commit et Rollback sont déjà gérés en interne, si la connexion est "autocommit=false".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!connection.getAutoCommit()) {
            connection.commit();
          }
    Donc, tant qu'il n'y a pas d'exception, les ordres seront commités.

    A noter également, qu'il y a un paramètre pour exécuter "ligne par ligne", ou d'un bloc, et que ce paramètre fait que ça exécute ligne par ligne par défaut (avec un commit forcé après chaque ligne=chaque ordre SQL). Il faut que tu changes ce mode de fonctionnement (setSendFullScript(true)).

    Pour ta question sur "quelle exception", les exceptions SQL (checked) sont encapsulées dans une unchecked-exception (RuntimeSQLException).
    Tu peux modifier par exemple le second insert (mettre une erreur de syntaxe SQL volontairement), et normalement ça fera le rollback.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    Bon je doit etre fatigué ce matin ... je ne comprend pas, je me bat depuis 30minutes pour catcher l'exeption mais sa ne rentre jamais dedans :

    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
    public static void main(String[] args) throws SQLException, FileNotFoundException, ClassNotFoundException{
     
    		//FenetreTest f = new FenetreTest();
    		//f.setVisible(true);
    		String monScript = "script.sql";
     
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
     
    			Connection cn = DriverManager.getConnection("jdbc:mysql://localhost/ahiweb", "root", "P@ssw#rd");
     
     
    			Savepoint s = cn.setSavepoint();
    			cn.setAutoCommit(false);
    			//System.out.println("SAVEPOINT : " + s);
    			Statement st = null;
     
    			ScriptRunner sr = new ScriptRunner(cn);
    			Reader r = new BufferedReader(
    					new FileReader(monScript));
    			sr.setSendFullScript(true);
    			sr.runScript(r);
    			//System.out.println("SAVEPOINT " +s.getSavepointName());
     
    			sr.closeConnection();
     
    			//comit auto a la fin? donc pas de savepoint possible?
    			//Verifier avec 2 fichiers
    			//lire fichier dans repertoire
    			//regarder documentation librairie ibatis
    			//possibilite langage SQL/MySQL?
     
    		} catch(MySQLSyntaxErrorException r) {
    			System.out.println("ROLLBAAACKKK");
    		}
    Et le pire c'est que dans la console, l'erreur généré est :
    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
    Error executing: START TRANSACTION;
    
    INSERT into ahiweb.utilisateur VALUES ('955', '55', '117', 'Tata', 'Titi', 'toto', 'toto', '2', '1', 'toto@gmail.com', '1', '0656565656', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '0', '0', '0', '0', '0' );
    
    INSERT into ahiweb.utilisater VALUES ('956', '55', '117', 'Tutu', 'Titi', 'toto', 'toto', '2', '1', 'toto@gmail.com', '1', '0656565656', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '0', '0', '0', '0', '0' );
    
    CREATE TABLE `ahiweb`.`tabletest` (
      `idtabletest` INT NOT NULL AUTO_INCREMENT COMMENT '',
      `nomtabletest` VARCHAR(45) NULL COMMENT '',
      `numerotabletest` INT NULL COMMENT '',
      `villetabletest` INT(10) UNSIGNED NULL COMMENT '',
      PRIMARY KEY (`idtabletest`)  COMMENT '',
      INDEX `FKTest_idx` (`villetabletest` ASC)  COMMENT '',
      CONSTRAINT `FKTest`
        FOREIGN KEY (`villetabletest`)
        REFERENCES `ahiweb`.`adr` (`id`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION);
    .  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to y
    Donc c'est bien l’exception que je catch pourtant .. je comprend pas .. :s

  10. #10
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    peux-tu nous montrer le contenu de la classe:
    Eric

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    Bonjour Eric,

    Cette classe est contenue dans une librairie que j'utilise (iBatis). Voila la javadoc concernant ScriptRunner

    http://ibatis.apache.org/docs/java/d...iptRunner.html

    Marvin.

  12. #12
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Tes insert ne sont pas bon : il faut préciser les colonnes à remplir avant le mot clé values

    insert into (col1, col2) values (a, b)
    Je ne suis pas mort, j'ai du travail !

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    Non, si tous les champs sont renseignés, il suit l'ordre des champs par défaut avec les valeurs passées. Je n'ai d'ailleurs pas d'erreur si je ne la provoque pas volontairement comme me l'a conseillé joel.drigo

  14. #14
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Ha... MySQL... Pardon...
    Je ne suis pas mort, j'ai du travail !

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    Oui MySQL pas de soucis , merci d'essayer d'aider

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    joel.drigo au secours lol

    Depuis que j'ai mis la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sr.setSendFullScript(true);
    j'ai cette erreur qui apparait en permanence :
    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
    Error executing: START TRANSACTION;
     
    INSERT into ahiweb.utilisateur VALUES ('955', '55', '117', 'Tata', 'Titi', 'toto', 'toto', '2', '1', 'toto@gmail.com', '1', '0656565656', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '0', '0', '0', '0', '0' );
    INSERT into ahiweb.utilisateur VALUES ('956', '55', '117', 'Tutu', 'Titi', 'toto', 'toto', '2', '1', 'toto@gmail.com', '1', '0656565656', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '0', '0', '0', '0', '0' );
     
    CREATE TABLE `ahiweb`.`tabletest` (
      `idtabletest` INT NOT NULL AUTO_INCREMENT COMMENT '',
      `nomtabletest` VARCHAR(45) NULL COMMENT '',
      `numerotabletest` INT NULL COMMENT '',
      `villetabletest` INT(10) UNSIGNED NULL COMMENT '',
      PRIMARY KEY (`idtabletest`)  COMMENT '',
      INDEX `FKTest_idx` (`villetabletest` ASC)  COMMENT '',
      CONSTRAINT `FKTest`
        FOREIGN KEY (`villetabletest`)
        REFERENCES `ahiweb`.`adr` (`id`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION);
    .  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT into ahiweb.utilisateur VALUES ('955', '55', '117', 'Tata', 'Titi', 'toto' at line 3
    Je n'ai pourtant pas toucher au fichier SQL. Cela peut-il venir de cette fameuse ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sr.setSendFullScript(true);
    ?

    Merci d'avance

  17. #17
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    peux-tu nous donner la description de la table stp,
    il ya un champ ou colonne qui est a priori mal rempli.

    Eric

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    Oui, voilà.

    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
    CREATE TABLE `utilisateur` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `refDept` int(10) unsigned NOT NULL DEFAULT '0',
      `refCent` int(10) unsigned NOT NULL DEFAULT '0',
      `nom` varchar(145) CHARACTER SET latin1 NOT NULL DEFAULT '',
      `prenom` varchar(145) CHARACTER SET latin1 DEFAULT '',
      `login` varchar(45) CHARACTER SET latin1 NOT NULL DEFAULT '',
      `password` varchar(45) CHARACTER SET latin1 NOT NULL DEFAULT '',
      `profil` int(10) unsigned NOT NULL DEFAULT '0',
      `modif` int(10) unsigned DEFAULT '0' COMMENT '0 compte non personalisé, 1 personalisé',
      `email` varchar(145) CHARACTER SET latin1 DEFAULT '',
      `actif` int(10) unsigned DEFAULT '1' COMMENT '0  desactiveé, 1 actif',
      `tel` varchar(17) CHARACTER SET latin1 DEFAULT '',
      `dcreat` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
      `dmodif` datetime DEFAULT NULL,
      `code` varchar(6) CHARACTER SET latin1 NOT NULL DEFAULT '' COMMENT 'code intervenant',
      `dentree` date DEFAULT NULL,
      `dsorti` date DEFAULT NULL,
      `nivAcces` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '0 niveau centre ,1 niveau structure, 2 niveau  service',
      `refPrest` int(10) unsigned DEFAULT '0' COMMENT 'ref prestaton type',
      `admin` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '1 administrateur génral de l''application, 0 non admin',
      `type` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '0 compte utilisateur (intervenant), 1 compte usager (gestion mon compte)',
      `refUtC` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'createur',
      PRIMARY KEY (`id`),
      KEY `Index_2` (`refDept`),
      KEY `Index_3` (`refCent`)
    ) ENGINE=InnoDB AUTO_INCREMENT=959 DEFAULT CHARSET=utf8;

  19. #19
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    Salut,
    peux-tu essayer ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ScriptRunner sr = new ScriptRunner(cn, false, false);
                sr.runScript(new BufferedReader(new FileReader(monScript)));
    et dans ton fichier sql:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT into ahiweb.utilisateur VALUES ('955', '55', '117', 'Tata', 'Titi', 'toto', 'toto', '2', '1', 'toto@gmail.com', '1', '0656565656', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '0', '0', '0', '0', '0' );
     
    INSERT into ahiweb.utilisater VALUES ('956', '55', '117', 'Tutu', 'Titi', 'toto', 'toto', '2', '1', 'toto@gmail.com', '1', '0656565656', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '', '2012-01-02 00:00:00', '2012-01-02 00:00:00', '0', '0', '0', '0', '0' );
    Eric

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 74
    Points : 35
    Points
    35
    Par défaut
    "The constructor ScriptRunner(Connection, Boolean, Boolean) is undefined".

Discussions similaires

  1. Eclipse en français
    Par Super Castor dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 02/06/2007, 15h59
  2. Eclipse Mac version et pluginUML
    Par Driden dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/06/2003, 19h03
  3. commit et rollback....?
    Par The_Nail dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 06/06/2003, 14h36
  4. [VB6]ADODB Command, recuperer l'info d'un RollBack
    Par Mouse dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/05/2003, 16h26
  5. Servlet dans Eclipse ?
    Par unflag dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 10/04/2003, 18h46

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