Pages : 1
#1 Le 21/05/2009, à 18:10
- info_ofni
java (netbeans) et postgresql
bonjour tout le monde;
je suis nouvelle sous ubuntu,nouvelle sous netbeans et j'ai besoin d'aide.
voilà je travaille sous un projet en java, et on m'impose à utiliser netbeans avec lequel je ne sais rien faire (mais je vais m'habituer)
mon problème est:
-j'aurai besoin d'une base de donnée, est ce que postgresql existe sous ubuntu?
-si oui, expliquez moi svp comment faire la connexion entre netbeans et pstgresql et qu'est ce que je devrais installer d'autre (j'ai vu un peu partout qu'on parle de quelque chose .jar mais j'ai rien compris)
-sinon, qu'est ce que je devrais utiliser à part le postgresql et comment regler le problème de la connexion?
aidez moi s'il vous plait
Hors ligne
#2 Le 21/05/2009, à 22:55
- enrico
Re : java (netbeans) et postgresql
Hello,
Dans NetBeans si tu vas sous le menu:
Window => Services
... tu trouves un menu qui te montre qu'il y a effectivement un driver pour PostgreSQL.
Il y a apparemment aussi une base déjà implémentée (Java DB). Je ne peux pas t'aider
sur ces sujets car je ne l'ai jamais fait (j'ai déjà mySql sous windows..), mais à mon avis c'est une piste à creuser.
Bonne chance.
Enrico
Dernière modification par enrico (Le 21/05/2009, à 23:03)
Hors ligne
#3 Le 22/05/2009, à 15:48
- info_ofni1
Re : java (netbeans) et postgresql
bonjour,
désolé mais ca ne m'aide pas, et je trouve pas la solution
aidez moi svp,
#4 Le 22/05/2009, à 22:20
- enrico
Re : java (netbeans) et postgresql
Bon,
J'ai passé du temps à potasser mon NetBeans pour toi. En même temps, pas du tout inutile car j'ai appris
quelquechose :-) Mais tu devras te contenter de cet exemple qui tourne avec Java DB, pas avec
PostgreSQL. Si tu es au point mort, cela te donnera au moins l'occasion de rapidement voir des résultats.
Ensuite, libre à toi de passer à PostgreSQL!
1) Dans NetBeans, le menu
Windows => services
, ouvre une petite fenêtre avec
Java DB => base de données incluse dans NetBeans, fournie par apache.
2) Il y a aussi des drivers dont PostgreSQL. Mais je n'entre pas en matière car la base n'est
pas installée. Si tu veux vraiment installer cette base, ensuite tu pourras utiliser ce
driver pour t'y connecter depuis tes programmes java.
3) Il y a aussi une liste de bases de données existantes, dont Java DB. (Ca commence avec
jdbc:derby:...)
Si tu as tout cela, tu peux en très peu de temps faire un petit test, comme ceci:
a) click droit de souris sur le Java DB mentionné dans mon post (point 1), pour
- démarrer le serveur
- créer ta base en lui donnant un nom (par exemple MaBase), un nom de user et un mot
de passe.
S'il ça fonctionne, tu devrais voir dans la même fenêtre ta nouvelle base qui s'appelle:
jdbc:derby://localhost:1527/MaBase[user...]
Noublies pas que tu peux stopper le serveur par le même menu quand tu veux quitter NetBeans.
b) petit programme pour te connecter à cette base: j'ai trouvé un exemple complet sous:
http://www.java2s.com/Code/Java/JDK-6/C … Driver.htm
J'ai dû l'adapter un peu parce qu'il n'était pas tout-à-fait adapté pour notre configuration.
/*
* Fichier source Exemple.java
* Cet exemple a été trouvé sous
* http://www.java2s.com/Code/Java/JDK-6/ConnecttoJavaDBDerbywithorgapachederbyjdbcEmbeddedDriver.htm
* et adapté un peu pour un post sur le forum ubuntu.
* Il crée une table employe avec un nom et une adresse, puis insère un employé qui
* s'appelle Haddock et habite Moulinsart (aie le copyright!), et finalement va relire la
* table et afficher tous les Haddock sur l'écran
*/
package javadbaccess;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class Exemple {
static Connection conn;
public static void main(String[] args) {
String driver = "org.apache.derby.jdbc.EmbeddedDriver";
String connectionURL = "jdbc:derby:MaBase";
String monOrdreSql;
try {
Class.forName(driver);
} catch (java.lang.ClassNotFoundException e) {
e.printStackTrace();
}
try {
conn = DriverManager.getConnection(connectionURL);
Statement stmt = conn.createStatement();
monOrdreSql = "CREATE TABLE Employe (Nom VARCHAR(32) NOT NULL, Adresse VARCHAR(50) NOT NULL)";
// Si tu lances le programme plus d'une fois, supprime le "create table", remplace-le par:
// monOrdreSql = "delete from Employe";
stmt.executeUpdate(monOrdreSql);
PreparedStatement psInsert = conn.prepareStatement("insert into Employe values (?,?)");
psInsert.setString(1, "Haddock");
psInsert.setString(2, "Moulinsart");
psInsert.executeUpdate();
Statement stmt2 = conn.createStatement();
ResultSet rs = stmt2.executeQuery("select * from Employe");
int num = 0;
while (rs.next()) {
System.out.println(++num + ": Nom: " + rs.getString(1) + "\n Adresse" + rs.getString(2));
}
rs.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
c) attention, il manque encore quelquechose pour que tout ceci fonctionne: dans ton
projet NetBeans, tu dois ajouter la librairie qui contient le driver
org.apache.derby.jdbc.EmbeddedDriver
je l'ai cherchée un peu, chez moi elle était sous
/usr/local/glassfish/gf-v2-b58g/javadb/lib/derby.jar
pour l'ajouter, click droit sur le projet, sélectionne librairies, et ajoute
le derby.jar avec le bouton jar/folder
Et pour vérifier si ton compilateur la trouve correctement, essaye d'ajouter en haut de l'exemple:
import org.apache.derby.jdbc.EmbeddedDriver;
Si NetBeans ne rouspète pas cela va ensuite fonctionner!
Ouf?
Bon courage et bonne chance
Dernière modification par enrico (Le 22/05/2009, à 22:37)
Hors ligne
#5 Le 23/05/2009, à 00:00
- info_ofni1
Re : java (netbeans) et postgresql
merci c'est vraiment gentil et serviable de ta part, maintenant je n'ai qu'une seule petite question:
jdbc:derby://localhost:1527/MaBase[user...]
si je traivaille avec mysql par exemple, j'aurai:
jdbc:[b]mysql[/b]://localhost:1527/MaBase[user...]
mais alors? le 1527 je le garde???
MaBase = le nom de la base que je crée par exemple sous phpMyadmin??
et le [user..] qu'est ce que je devrais mettre à la place
merci encore pour tout, et dsl pour le mal
#6 Le 23/05/2009, à 00:13
- info_ofni1
Re : java (netbeans) et postgresql
désolé pour le double poste, mais bon j'ai trouvé la solution,
merci enrico tu m'as beaucoup aidé
à bientot
#7 Le 23/05/2009, à 09:17
- enrico
Re : java (netbeans) et postgresql
Non, ce n'est pas forcément pareil avec toutes les bases. Par exemple pour MySql, la dernière fois que j'ai installé, le port par défaut était le 3406 et le nom de l'administrateur était "root". Et on peut compliquer l'URL, si on installe la base sur un autre site et/ou serveur.
Quand on installe une base, on choisit les paramètres (port, nom de l'administrateur, mot de passe...). Si c'est déjà installé automatiquement avec un produit comme NetBeans ou Eclipse, ou si on "laisse faire", il y aura forcément des paramètres par défaut. C'est pour cela que j'ai pu donner le port 1527 pour Java DB, mais il y a une chance sur mille que cela soit le même pour une autre base. En général les paramètres de config sont dans un fichier de propriétés ou un xml qui est lu au lancement de la base. A toi de chercher un peu pour tes propres bases déjà installées, il y a forcément un readme ou une doc quelque part. Dans mon exemple, il n'y a même pas de nom et de mot de passe nécessaires parce que dans la base incluse dans NetBeans, c'est facultatif!
Cependant, à moins qu'on ne soit seul à faire des essais sur son propre pc, avec des données non sensibles, on ne laisse jamais les paramètres par défaut. Et pour les connexions par des non-administrateurs, voire pour nos propres programmes java qui doivent se connecter, on crée des noms d'utilisateurs qui auront des droits restreints pour toutes les connexions. Par exemple, pas le droit de créer ou supprimer des tables, etc... (En évitant de devoir redéfinir tous les droits individuellement, grâce à l'utilisation de groupes d'utilisateurs, de profils, de droits etc)...
Tchô et bon apprentissage
Enrico
Dernière modification par enrico (Le 24/05/2009, à 09:13)
Hors ligne
#8 Le 25/05/2009, à 14:06
- Meuh1127
Re : java (netbeans) et postgresql
Bonjour,
J'ai le même probleme, j'utilise netBeans IDE 6.1 sous WIndows, mais je ne peux acceder à l'onglet Window-Service. Lorsque je clique, rien ne se passe.
J'ai téléchargé le driver de postgresql mais je ne sais pas ou le mettre pour qu'il soit reconnu.
Merci de votre réponse
#9 Le 25/05/2009, à 19:15
- enrico
Re : java (netbeans) et postgresql
Hello,
Ma première réaction était d'accuser la version de NetBeans, vu que j'ai la version 6.5.1.
Mais après une petite recherche j'ai trouvé http://www.netbeans.org/kb/60/java/gui-db.html.
Selon cette page il y a cette possibilité dès la 6.0, même si ce n'est pas forcément avec les mêmes menus. Il y a toute une explication qui montre comment vérifier l'installation dans divers cas par exemple "To verify whether Java DB is registered in NetBeans IDE 6.1"
Pour l'installation d'une autre base DANS NetBeans, je suis mal armé pour répondre, comme je l'ai dit plus haut dans le post, je ne connais pas. Je précise que je ne suis, comme toi, qu'un utilisateur de NetBeans, je ne fais pas d'affaires avec eux! On n'a cependant pas besoin que la base de données soit intégrée à NetBeans. Il suffit d'avoir le driver dans une librairie (jar), et de déclarer cette librairie dans le path java pour qu'on puisse y accéder. Et j'ai expliqué plus haut comment déclarer cette librairie dans un projet de NetBeans.
Dernière suggestion: pour autant qu'on connaisse un peu d'anglais, il y a http://forums.netbeans.org/. Quand ce n'est pas du spécifique pour les installations linux, ça me paraît plus approprié pour poser les questions, même si j'aide volontiers si je peux :-)
Bonne chance.
Enrico
Rectification: oh pardon, j'ai mal lu ton post, c'est sous Windows que tu as le problème, alors ici, on est encore moins à l'aise pour répondre! J'ai aussi Windows, mais c'était la galère de maintenir un NetBeans sur chacun des OS. Alors j'ai choisi de basarder celui de Windows pour avoir une chance d'apprendre à maîtriser Linux :-)
Dernière modification par enrico (Le 25/05/2009, à 19:23)
Hors ligne
Pages : 1