Salut tout le monde,
j'essaie de développer une application qui permet d'utiliser la couche InterMedia de Oracle. Donc j'ai une classe AjouterImage qui permet d'insérer une image dans une table déjà créée dans Oracle. Voici le code:

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
 
/*
 * AjouterImage.java
 *
 * Created on 16 ديسمبر, 2007, 07:35 م
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
 
package test_bdm;
 
/**
 *
 * @author ammoula
 */
// Importation des packages importants
import  java.sql.*; // Pour la connexion avec Oracle
import	java.io.*; // Pour les entrée sorties
import	oracle.jdbc.*;  // Pour les pilotes Oracle
import	oracle.sql.*;  // Pour les spécificités SQL d'Oracle 
import	oracle.ord.im.OrdImage;   // Pour la classe OrdImage
import	oracle.ord.im.OrdImageSignature;  // Pour la classe OrdImageSignature
 
 
public class AjouterImage {
 
    public static void main(String[] args) {
 
        try {
 
// Etape 1 : Création de la connexion avec la base
 
    // Enregistrement du pilote Oracle
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
 
    // Ouverture de la connexion avec la BD
    Connection conn = DriverManager.getConnection(
    "jdbc:oracle:thin:@host:1521:mabase", 	// url de la base
    "user", 					// utilisateur
    "password"); 					// mot de passe
 
 
 
 // Etape 2 : Mise à false de l'autocommit
 
    conn.setAutoCommit(false);
 
// Etape 3 : Initialisation de l'attribut ORDImage 
 
    // Ecriture de la requête SQL
    String sql = "UPDATE MaTable SET image=ORDSYS.ORDImage.init() WHERE id=1";
 
    // Création d'une instance d'un Objet Statement
    Statement stmt = conn.createStatement();
 
    // Execution de la requête
    stmt.execute(sql);
 
// Etape 4 : Récupération du descripteur
 
    // Ecriture de la requête SQL
    String sql2 = "SELECT image FROM MaTable WHERE id=1 FOR UPDATE";
 
    // Execution de la requête et récupération du résultat
    OracleResultSet rset=(OracleResultSet) stmt.executeQuery(sql2);
 
    // S'il y a un résultat
    if( rset.next()) {
 
    // Récupération du descripteur d'OrdImage
    OrdImage imgObj = (OrdImage) rset.getCustomDatum(1, OrdImage.getFactory() );
 
// Etape 5 : Envoi de l'image
 
        // Création d'un bloc try{}catch pour l'exception d'entrée/sortie
        try{
            // Envoi de l'image dans l'attribut localData du type ORDImage                     
            imgObj.loadDataFromFile("c:\\image.jpg");                      
        }
        catch (IOException e){ e.printStackTrace(); }
 
// Etape 6 : Génération des métas données
 
// Génération des métas données (propriétés de l'image)
            imgObj.setProperties();
 
        // Vérification de la génération des propriétés
        if(imgObj.checkProperties()) {
 
            // Ecriture de la requête SQL pour mettre à jour l'attribut
            String sql3 = "UPDATE maTable SET image=? WHERE id=1";
 
            // Création d'une instance de l'objet OraclePreparedStatement
            OraclePreparedStatement pstmt = (OraclePreparedStatement) conn.prepareStatement(sql3);
 
            // Ajout de l'instance d'OrdImage dans la requête
            pstmt.setCustomDatum(1, imgObj);
 
            // Execution de la requête
            pstmt.execute();
            // Fermeture
            pstmt.close();
 
// Etape 7 : Validation manuel de la base
            conn.commit();
 
        }
    }
// Etape 8 : Fermeture des connexions et remise à true            
            stmt.close();
 
            // Remise à true de l'auto commit
            conn.setAutoCommit(true);
 
            // fermeture de la connexion             
            conn.close();             
        } catch(SQLException e) { e.printStackTrace(); }
    }
} // fin
La compilation ne génère aucune erreur, mais lors de l'exécution, l'exception suivante est déclenchée.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
java.sql.SQLException:  The Network Adapter could not establish the connection
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
        at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404)
        at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at test_bdm.AjouterImage.main(AjouterImage.java:37)
BUILD SUCCESSFUL (total time: 12 seconds)

Est ce que quelqu'un peut m'aider la dessus ?
Merci d'avance.