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

  1. #1
    Membre du Club
    Insérer un fichier .sql dans ma base de données.
    Bonsoir,

    Après un long silence,
    je renoue avec la programmation java pour base de données.

    J'ai le début d'une application comportant une base de donnée programmée avec pgAdmin 3.
    Elle fonctionne sans problème pour insérer une ligne de données, supprimer une ligne et visualiser dans netbeans
    la BDD.

    Mon problème est le suivant: je veux insérer un fichier de données dans ma BDD.
    Hélas impossible j'ai des erreurs dans mon code.
    Je l'ai essayé avec MySQL et ça marchait !
    Mais là avec netbeans et java je n'y arrive pas.

    Ci-dessous ma ligne de code qui pose problème.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     public boolean update (Viandes obj)
       {
           int result = this.connect.createStatement ().executeUpdate
            (INSERT INTO Viandes)('D:/Documents/Essais/Data pour Base_données/viandes-remplir1.sql'));
            return false;               
       }


    C'est la ligne avec INSERT INTO qui pose problème.

    J'ai recherché sur le net , impossible d'avoir un renseignement alors qu'il est parfaitement possible d'insérer un fichier .sql.

    Merci pour toute aide

    a plus rapidego

  2. #2
    Modérateur

    En effet je ne pense pas qu'il soit possible de faire cela de cette manière.
    Il faudrait parser le fichier pour récupérer chaque "statement" (qui se terminent par un ; point-virgule) et l’exécuter.
    Sinon il faut lancer une commande (process) appelant mysql ou pgsql ou autres qui normalement devrait pouvoir digérer le fichier sql tel quel.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Rédacteur/Modérateur

    Bonjour,

    Tu peux utiliser MyBatis
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    Reader reader = new BufferedReader(new FileReader("D:/Documents/Essais/Data pour Base_données/viandes-remplir1.sql"));
    ScriptRunner scriptRunner = new ScriptRunner(this.connect);
    scriptRunner.runScript(reader);


    A+.

  4. #4
    Membre du Club
    Citation Envoyé par wax78 Voir le message
    En effet je ne pense pas qu'il soit possible de faire cela de cette manière.
    Il faudrait parser le fichier pour récupérer chaque "statement" (qui se terminent par un ; point-virgule) et l’exécuter.
    Sinon il faut lancer une commande (process) appelant mysql ou pgsql ou autres qui normalement devrait pouvoir digérer le fichier sql tel quel.
    Bonsoir,

    Je révise mes cours Mysql, il y à un passage concernant cette opération.

    Merci à plus
    rapidego

  5. #5
    Membre du Club
    Insérer un fichier .sql dans ma base de données.
    Citation Envoyé par Rapidego Voir le message
    Bonsoir,

    Je révise mes cours Mysql, il y à un passage concernant cette opération.

    Merci à plus
    rapidego
    Bonsoir,

    Je viens donc de relire mes cours suivi il y à 3 ans.
    A l'époque j'avais réussi l'insertion d'un fichier texte.

    D'après ce que je crois comprendre cette opération n'est possible que dans l'environnement de l'application MySQL.

    Je dois donc trouver un autre méthode d'insertion, j'ai donc pensé à la boîte combo-box.

    Il est impératif pour moi d'éviter de taper des parties de code devant mon congélateur.

    Maintenant auriez vous une autre manière ou méthode pour me permettre cela.

    Je ne demande pas de me taper des parties de code mais simplement de m'orienter concernant la doc ou livre et tutos.

    Avec mes remerciements cordialement

    rapidego

  6. #6
    Membre régulier
    1-ouvre msDos
    2- tape la commande suivante:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    mysql -u root -p

    3- le cmd vas te demander le mot de passe , tu tape sur entrer.
    4-le cmd vas devenir: mysql>
    5- maintenant tape: use nom_de_ta_base_de_donnee
    6-étape final, tape:source c:/fichier.sql le chemin et le nom exacte de ton fichier sql

  7. #7
    Membre du Club
    Citation Envoyé par abdennour bouaicha Voir le message
    1-ouvre msDos
    2- tape la commande suivante:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    mysql -u root -p

    3- le cmd vas te demander le mot de passe , tu tape sur entrer.
    4-le cmd vas devenir: mysql>
    5- maintenant tape: use nom_de_ta_base_de_donnee
    6-étape final, tape:source c:/fichier.sql le chemin et le nom exacte de ton fichier sql
    Bonjour

    C'est la commande que j’utilisais lorsque je suivais les cours Openglassrooms pour MySQL

    Je ne vois pas comment je pourrai insérer mon fichier dans mon appli avec netbeans

    J'avais il y a 3 ans créé ma BDD avec pgAdmin 3 PostGreSQL- Tools

    Cordialement à plus
    rapidego

  8. #8
    Membre du Club
    abandon du transfert d'un fichier .sql, utiliser une boite comboBox
    Bonsoir

    Je tiens à apporter des précisions.

    L'idée d'insérer un fichier .sql n'est plus d'actualité je l'abandonne.

    Maintenant pour apporter plus d'informations je vais détailler mon projet:

    J'ai donc une base de données rédigée avec pgAdmin 3 PostgreSQL-Tools.

    Cette BDD nommée congel1 comporte 6 tables nommées comme suit:

    charcuterie, fruits, legumes, patisserie, poissons, viandes

    Dans chaque table j'ai les colonnes suivantes:

    id type nom etat quantite endroit date_entree date_perim

    En ce qui concerne mon IHM: avec Netbeans j'ai créé une fenêtre comportant 6 onglets portant les noms de mes tables.

    Je peux donc ouvrir des fenêtres individuelles concernant mes différentes tables.

    Pour l'instant je ne travaille qu'avec ma fenêtre viandes.

    Pour cette fenêtre viandes j'ai 3 boutons qui fonctionnent:

    1 pour visualiser le contenu de ma table viandes

    1 autre pour supprimer une ligne

    1 qui sert à ajouter une ligne avec la commande INSER INTO......

    Récemment j'ai ajouté un comboBox

    J'ai réussi à placer les différentes valeurs des items de ma boîte combo dans des variables.

    J'ai testé avec System.out.println(choix); (j'obtient l'affichage dans netbeans).

    Mon objectif suivant serait de transférer les valeurs de ces variables dans les champs respectifs de ma table viandes.


    Cette opération interviendrait uniquement lors de retraits ou d'ajouts de produits dans le congélateur.

    Cet appareil est un congélateur de type bahut (on retire ou ajoute souvent des produits).

    Au bout d'un certain temps on ne se rappelle plus forcément de ce qu'il contient et à quel endroit.

    Mon autre objectif serait le zéro papier je peux emmener mon portable à côté du congélo.

    Je pense avoir apporté plus de précisions

    A plus cordialement

    rapidego

###raw>template_hook.ano_emploi###