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
    Profil pro
    Inscrit en
    octobre 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2009
    Messages : 100
    Points : 51
    Points
    51
    Par défaut 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
      0  0

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    août 2006
    Messages
    3 918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2006
    Messages : 3 918
    Points : 7 711
    Points
    7 711
    Par défaut
    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
      0  0

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    septembre 2007
    Messages
    8 337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 8 337
    Points : 14 519
    Points
    14 519
    Par défaut
    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+.
      0  0

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    octobre 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2009
    Messages : 100
    Points : 51
    Points
    51
    Par défaut
    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
      0  0

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    octobre 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2009
    Messages : 100
    Points : 51
    Points
    51
    Par défaut 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
      0  0

  6. #6
    Membre régulier Avatar de abdennour bouaicha
    Homme Profil pro
    Développeur Java
    Inscrit en
    avril 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : avril 2009
    Messages : 89
    Points : 95
    Points
    95
    Par défaut
    1-ouvre msDos
    2- tape la commande suivante:
    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
      0  0

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    octobre 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2009
    Messages : 100
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par abdennour bouaicha Voir le message
    1-ouvre msDos
    2- tape la commande suivante:
    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
      0  0

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    octobre 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2009
    Messages : 100
    Points : 51
    Points
    51
    Par défaut 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
      0  0

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/10/2016, 11h59
  2. Réponses: 2
    Dernier message: 22/04/2016, 17h49
  3. Réponses: 2
    Dernier message: 21/07/2008, 16h00
  4. Réponses: 1
    Dernier message: 17/03/2008, 11h21
  5. [SQL] Importer un fichier .sql dans une base de données avec PHP
    Par budiste dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/06/2006, 15h15

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