Bonjour,
Je suis étudiant en informatique et j'ai un projet a rendre dans très peu de temps (oui comme tous les étudiants je le fait à la dernière minute et c'est mal).
Ce projet consiste à faire un pseudo site d'e-Commerce en jsp en utilisant des bean et pool de socket et tout le tralala. Et point important, d'utiliser Oracle WebLogic, et pointBase pour la base de données.
J'ai donc crée ma base dans pointBase, j'ai crée une datasource depuis ma console d'administration WebLogic.
Caractèristique de la dataSource :
Général :
Connection Pool :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Name = mabase JNDI Name = mabase Row Prefetch Enabled = false Row Prefetch Size = 48 Stream Chunk Size = 256
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 URL = jdbc:pointbase:server://localhost:9092/mabase Driver Class Name = com.pointbase.xa.xaDataSource Properties = user=weblogic databaseName=jdbc:pointbase:server://localhost:9092/mabase Initial Capacity = 1 Maximum Capacity = 15 Capacity Increment = 1 Statement Cache Type = LRU Statement Cache Size = 10 Test Connections On Reserve = true
Maintenant pour me connecter à la base par cette data source j'ai une classe AccesBase :
Code java : 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 package mabase; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; import Item.Item_I; public class AccesBase { private Connection getConnection() throws NamingException, SQLException { InitialContext ic = new InitialContext(); DataSource ds = (DataSource)ic.lookup("mabase"); Connection c = ds.getConnection(); return c; } public ArrayList<Item_I> obtenirTout() { ArrayList<Item_I> res = new ArrayList<Item_I>(); try { Connection c = getConnection(); Statement st = c.createStatement(); ResultSet rs = st.executeQuery("select SKU,NAME,DESCRIPTION,PRICE from ITEMS"); while (rs.next()) { res.add(new bean.Item(rs.getString("SKU"), rs.getString("NAME"), rs.getString("DESCRIPTION"),rs.getFloat("PRICE"))); } rs.close(); st.close(); c.close(); } catch (NamingException e) { e.printStackTrace();} catch (SQLException e) {e.printStackTrace();} return res; } }
Et ma page jsp qui utilise la classe AccesBase est celle ci :
Code java : 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 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" import="java.util.*,mabase.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ page import="Item.Item_I"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Essai JDBC</title> </head> <body> <table> Tableau des articles<% AccesBase base = new AccesBase(); ArrayList<Item_I> list = base.obtenirTout(); %><%=list.size() %><% Iterator<Item_I> it = list.iterator(); while (it.hasNext()) { Item_I i = it.next();%> <tr> <td><%=i.getSKU()%></td> <td><%=i.getName()%></td> <td><%=i.getDescription()%></td> <td><%=i.getPrix()%></td> </tr><% }%> </table> </body> </html>
M'ai j'ai une erreur au niveau de DataSource ds = (DataSource)ic.lookup("mabase"); ( dans la classe AccesBase)
L'erreur renvoyé est la suivante :
Je ne comprend pas du tout pourquoi ça ne marche pas. Je sèche totalement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 javax.naming.NameNotFoundException: Unable to resolve 'mabase'. Resolved ''; remaining name 'mabase' at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139) at weblogic.jndi.i...............
Merci d'avance
Partager