salut les amies
je suis entraient de développez une application en java-oracle permettant d'importer des images et vidéos dans une base de données oracle 10 g 10.2.0
pour cela j'ai lus le tuto sur OrdImage qui existe sur developpez.com
j'ai exécuté l'exemple qui est compilé avec succès et la il généré des erreurs :
Exception in thread "main" java.lang.NoSuchMethodError : sqlj.runtime.ExecutionContext$OracleContext.isNew()Z
at oracle.ord.im.OrdImageBase._deleteContent(OrdImageBase.java:326)
at oracle.ord.im.Ord.im.OrdImage.deleteContent(OrdImage.java:870)
at oracle.ord.im.ordImage.loadDataFromFile(OrdImage.java:744)
at Ajout_OrdImage.main(Ajout_OrdImage.java:43)
les paquetages :
ordim.jar
ojdbc.jar
runtime12.jar
nls_charset12.jar
classes12.jar
sont dans le répertoire
C:\Program Files\Java\jdk1.6.0\jre\lib\ext
il me reste pas beaucoup de temps pour soutenir l'application alors ....
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 //Importation des packages importants import java.sql.*;//Pour la connexion avec Oracle import java.io.*; //Pourlesentr�e sorties import oracle.jdbc.*;//PourlespilotesOracle import oracle.sql.*;//Pourlessp�cificit�sSQLd'Oracle import oracle.ord.im.OrdImage;//PourlaclasseOrdImage import oracle.ord.im.OrdImageSignature;//PourlaclasseOrdImageSignature public class Ajout_OrdImage{ public static void main (String [] args){ try { //Etape1:Cr�ationdelaconnexionaveclabase //EnregistrementdupiloteOracle DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); //OuverturedelaconnexionaveclaBD Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:BDVID", //urldelabase "system", //utilisateur "marrakech"); //motdepasse //Etape2:Mise�falsedel'autocommit conn.setAutoCommit(false); //Etape3:Initialisationdel'attributORDImage //Ecrituredelarequ�teSQL String sql= "UPDATE MaTable SET image =ORDSYS.ORDImage.init() WHERE id=1"; //Cr�ationd'uneinstanced'unObjetStatement Statement stmt=conn.createStatement(); //Executiondelarequ�te stmt.execute(sql); //Etape4:R�cup�rationdudescripteur //Ecrituredelarequ�teSQL String sql2= "SELECT image FROM MaTable WHERE id=1 FOR UPDATE"; //Executiondelarequ�teetr�cup�rationdur�sultat OracleResultSet rset=(OracleResultSet)stmt.executeQuery(sql2); //S'ilyaunr�sultat if( rset.next()) { //R�cup�rationdudescripteurd'OrdImage OrdImage imgObj=(OrdImage)rset.getCustomDatum(1,OrdImage.getFactory()); //Etape5:Envoidel'image //Cr�ationd'unbloctry{}catchpourl'exceptiond'entr�e/sortie try{ //Envoidel'imagedansl'attributlocalDatadutypeORDImage imgObj.loadDataFromFile("jpg.png"); } catch(IOException e){e.printStackTrace();} //Etape6:G�n�rationdesm�tasdonn�es //G�n�rationdesm�tasdonn�es(propri�t�sdel'image) imgObj.setProperties(); //V�rificationdelag�n�rationdespropri�t�s if(imgObj.checkProperties()){ //Ecrituredelarequ�teSQLpourmettre�jourl'attribut String sql3= "UPDATE maTable SET image=? WHERE id=1"; //Cr�ationd'uneinstancedel'objetOraclePreparedStatement OraclePreparedStatement pstmt=(OraclePreparedStatement)conn.prepareStatement(sql3); //Ajoutdel'instanced'OrdImagedanslarequ�te pstmt.setORAData(1,imgObj); //Executiondelarequ�te pstmt.execute(); //Fermeture pstmt.close(); //Etape7:Validationmanueldelabase conn.commit(); } } //Etape8:Fermeturedesconnexionsetremise�true stmt.close(); //Remise�truedel'autocommit conn.setAutoCommit(true); //fermeturedelaconnexion conn.close(); } catch(SQLException e){e.printStackTrace(); } } } //fin
Toutes vos remarques et suggestions sont les bienvenues
Partager