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

Struts 1 Java Discussion :

Enregistrer un fichier dans une base de données


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Par défaut Enregistrer un fichier dans une base de données
    Bonjour à tous

    Je travaille sur un projet struts 1.3 et base Oracle 11g

    Je veux pouvoir stocker le contenu dans un fichier dans une base de données, pour ce faire j'ai creer une vue jsp qui me permet de parcourir les fichies et une Action et une classe de connexion avec ma base,
    /
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    *
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package com.myapp.struts;
     
    import java.util.Date;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.sql.DataSource;
     
    /**
     *
     * @author admin
     */
    public class Reket {
     
        public String designation,requette,msgex;
        public byte[] datac;
     
        public Reket (String des,byte[] photo)
        {
            designation=des;
            datac=photo;
            requette="insert into files (name,contenu) values ('"+designation+"','"+datac+"')";
     
        }
     
        public void Inserer()
        {
            try
            {
                System.out.println("vvvvvvvvv");
                Context context = new InitialContext();
                DataSource datasource = (DataSource) context.lookup("java:comp/env/jdbc/interface");
                Connection connect = datasource.getConnection();
                Statement aStmt = connect.createStatement();
                int aRSet = aStmt.executeUpdate(requette);
                if(aRSet>0)
                {   
                  System.out.print("L'insetion est bien faite avec success");           
     
                }
                else 
                    System.out.print("L'insetion n'est pas faite "); 
                aStmt.close();
                connect.close();
            }
            catch(Exception e)
            {
                System.out.println("yyyyyyyyy");
                msgex=e.getMessage();            
                e.printStackTrace();
     
            } 
        }
     
    }
    et dans action parmi d'autres lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String fileName = file.getFileName();
                byte[] contenud=file.getFileData();
     
     Reket Rk =new Reket(fileName,contenud);
                    Rk.Inserer();
    mais il y a toujours une exception.

    Merci d'avance

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par letelwad Voir le message
    mais il y a toujours une exception.
    Je n'ai jamais utilisé Struts. Cependant, je peux te dire que la description de ton soucis est incomplète. Comment veux tu qu'une personne t'aiguille sur ton soucis si tu ne détailles pas l'erreur ? Quelle est cette exception ?
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Par défaut
    Vous trouverez ci dessous ce que le consol de Apach Tomcat affiche :

    INFO: Tiles definition factory found for request processor ''.
    java.sql.SQLException: ORA-01465: nombre hexadécimal non valide

    yyyyyyyyy
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
    at oracle.jdbc.driver.T4Call.receive(T4Call.java:1034)
    at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
    at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:942)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
    at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1706)
    at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1674)
    at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:275)
    at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228)
    at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228)
    at com.myapp.struts.Reket.Inserer(Reket.java:41)
    at com.myapp.struts.FileUploadAction.execute(FileUploadAction.java:49)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1815)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
    ce que je veux savoir est ce que on peut considérer une valeur de type byte[] adequate avec blob.

    Merci d'avance

  4. #4
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Par défaut
    Bonjours à tous,

    Vu que la discussion que j'ai déclenché depuis hier manque toujours la réaction attendue , je me suis décidé de m'expliquer encore en esperant que je trouve une réponse ,
    mon problème consiste tout simplement à trouver une façon pour traiter un blob sous struts oracle.

    Cordialement

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/11/2012, 18h16
  2. Réponses: 4
    Dernier message: 26/09/2006, 11h42
  3. [Conception] inertion d'un fichier dans une base de donne
    Par laminebarasow dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/07/2006, 23h13
  4. Interet de mettre des fichiers dans une base de donnée
    Par Oberown dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 04/07/2005, 11h35

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