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

JDBC Java Discussion :

[JDBC] Pb datasource


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 73
    Points : 49
    Points
    49
    Par défaut [JDBC] Pb datasource
    Bonjour,

    J'ai un petit souci avec java/Oracle. En fait, dans une appli, j'attache un fichier Blob. J'utilise le code suivant :
    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
     
     
    public static void attacherFichierToGarantie(byte[] contenuFichier, String nomFichier, String idGarantie) throws SQLException, Exception{
     
    		String requeteForUpdate = "";
    		String requeteUpdate = ""; 		
    		requeteForUpdate = "select g.DOCUMENT from APPLICATION.GARANTIE g where g.id = ? for update";
    		requeteUpdate = "update APPLICATION.GARANTIE g set g.NOMFICHIER = ?, g.DATE_INSERTION = ? where g.id = ?";
    		Connection conn = getConnectionTHIN();
    		conn.setAutoCommit(false);
    		PreparedStatement stmtForUpdate = conn.prepareStatement(requeteForUpdate);
    		PreparedStatement pstmtUpdate = conn.prepareStatement(requeteUpdate);
    		BLOB blob = null;
    		try{		
    			//Parcourir le tableau des ids
     
    			stmtForUpdate.setString(1, idGarantie);
    			ResultSet rs = stmtForUpdate.executeQuery();
    			while(rs.next()){
    				blob = ((oracle.jdbc.OracleResultSet)rs).getBLOB(1);				
    				OutputStream os = blob.getBinaryOutputStream();
    				os.write(contenuFichier, 0, (int) contenuFichier.length);
    				os.flush();
    				os.close();		
    			}			
    			pstmtUpdate.setString(1, nomFichier);
    			pstmtUpdate.setTimestamp(2, new Timestamp(Calendar.getInstance().getTimeInMillis()));
    			pstmtUpdate.setString(3, idGarantie);
    			rs = pstmtUpdate.executeQuery();						
     
    			conn.commit();	
    		}
    		catch(Exception e){
    			System.out.println(e);
    		}
    		finally{
    			stmtForUpdate.close();
    			pstmtUpdate.close();
    			conn.close();
    			blob = null;
    		}
     
    	}

    La methode getConnectionTHIN a été codée comme suit :

    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
     
     
    public static Connection getConnectionTHIN() throws Exception{
    		Connection connectionTHIN = null;		
    		try{
    			InputStream crm_admin_properties_file =  SQLDataService.class.getClassLoader().getResourceAsStream("crm_admin_sql.properties");
    			Properties prop = new Properties();
    			prop.load( crm_admin_properties_file);
    			String url = prop.getProperty("URL").trim(); 
    			String user = prop.getProperty("User").trim(); 
    			String password = prop.getProperty("Password").trim();
    			connectionTHIN =  java.sql.DriverManager.getConnection(url, user, password);
    			crm_admin_properties_file.close();
    		}
    		catch( Exception e){
    			System.out.println(e);
    		}				
    		return connectionTHIN;
    	}
    Ca marche très bien. Seulement, je ne souhaite pas passer par un fichier properties. J'aimerais utiliser une DataSource dans mon server.xml. J'ai essayé, mais ça marche pas. P'tre un problème de classe du driver. Moi j'ai utilisé ceci : java.sql.DriverManager (dans <parameter><name>driverClassName</name><value>java.sql.DriverManager </value></parameter>)

    Quand je passe par la datasource, ça me sort ça comme erreur "
    org.apache.commons.dbcp.DelegatingResultSet"

    Any help please ?

  2. #2
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 204
    Points : 102
    Points
    102
    Par défaut
    j ai peu etre pas tout saisi

    mais bon

    moi j utilise une data source, je suis sous struts et oracle 9i
    il faut configurer un fichier data-source.xml et le orion-application.xml

    Si c est le cas, je te dirai si tu veux le contenu des fichier et ou les déployer

  3. #3
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 73
    Points : 49
    Points
    49
    Par défaut
    On ne peut pas mettre la DataSource dans le serveur.xml de Tomcat ?

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 204
    Points : 102
    Points
    102
    Par défaut
    ah si

    c est que ta configuration est mal faite

    tomcat je connais pas, moi je suis sous jbosss

    voici un lien qui peu peu etre t aider à vérifier que ta configuration est bien faite

    http://confluence.atlassian.com/disp...ction+Closures

  5. #5
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 73
    Points : 49
    Points
    49
    Par défaut
    Ben c'est exactement ce que j'ai dans mon server.xml mais j'ai tout de même l'erreur. J'ai été en debug, il ouvre bien une connection. Mais tout ce passe comme si il n'aimait pas ce type de connection

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 204
    Points : 102
    Points
    102
    Par défaut
    j ai pas tout compris

    tu as bien un dataSource ou pas?

    si oui? en debug ta connection est elle différente de null?

  7. #7
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 73
    Points : 49
    Points
    49
    Par défaut
    Actuellement, j'établis ma connection en utilisant un fichier properties. Je veux pouvoir m'en passer et utiliser une datasource.

Discussions similaires

  1. [JNDI][DATASOURCES] jdbc -> datasources
    Par mlequim dans le forum JDBC
    Réponses: 6
    Dernier message: 15/04/2009, 09h58
  2. [Data] Problème de connection jdbc avec dataSource Spring
    Par laurent.c123 dans le forum Spring
    Réponses: 3
    Dernier message: 04/03/2008, 12h29
  3. [JDBC] difference entre drivemanager et datasource
    Par tangjuncn dans le forum JDBC
    Réponses: 3
    Dernier message: 21/03/2006, 21h57
  4. [JDBC] comment gerer un Datasource avec Connector/J
    Par wdionysos dans le forum JDBC
    Réponses: 1
    Dernier message: 11/01/2006, 15h11
  5. [JDBC]datasource-pool-transactionUser
    Par Wessim dans le forum JDBC
    Réponses: 1
    Dernier message: 19/03/2005, 20h56

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