[JDBC] Attention ! Question de newbie inside !

Attention ! Question de newbie inside ! [JDBC] - Programmation

Marsh Posté le 17-04-2002 à 10:24:49    

Voilà, j'ai effectué pleins de recherches sur JDBC, sur les drivers JDBC pour se connecter à une BD etc ...
Mais ... imaginons que je n'ai pas de base de données ! (donc pas de connectins possible !) ... et je veux la créer.  
Esc-ce que je peux la faire via le JDBC ? avec des méthodes createDatabase(..) par exemple ?
ou je dois d'abord downloader Oracle et faire une base de données?

Reply

Marsh Posté le 17-04-2002 à 10:24:49   

Reply

Marsh Posté le 17-04-2002 à 10:29:57    

JDBC est un moyen d'accéder à une BD pas un remplacement de celles ci.  
 
La voiture te permet de te rendre à ton boulot, cela ne crée pas ton boulot. Tu vois le genre?
 
Donc tu dois avoir une BD qui possède une implémentation JDBC et tu peux, via ton prog créer les tables dans cette BD (pour peu que tu aies les droits).
 
Quand à oracle c'est une BD professionnelle (i.e. non personnelle). Oriente toi vers des trucs genre MySQL (gratuit).

Reply

Marsh Posté le 17-04-2002 à 10:31:48    

Ok ! Muchas gracias !
 
 :jap: ah! le célèbre Darklord à la rescousse !  :jap:

Reply

Marsh Posté le 17-04-2002 à 10:32:34    

:ange:

Reply

Marsh Posté le 17-04-2002 à 10:39:43    

DarkLord a écrit a écrit :

JDBC est un moyen d'accéder à une BD pas un remplacement de celles ci.  
 
La voiture te permet de te rendre à ton boulot, cela ne crée pas ton boulot. Tu vois le genre?
 
Donc tu dois avoir une BD qui possède une implémentation JDBC et tu peux, via ton prog créer les tables dans cette BD (pour peu que tu aies les droits).
 
Quand à oracle c'est une BD professionnelle (i.e. non personnelle). Oriente toi vers des trucs genre MySQL (gratuit).  




 
...pas forcément un BD qui possède une implémentation JDBC. Avec ODBC, on peut y accèder vis JDBC aussi !

Reply

Marsh Posté le 17-04-2002 à 10:43:54    

el_gringo a écrit a écrit :

 
 
...pas forcément un BD qui possède une implémentation JDBC. Avec ODBC, on peut y accèder vis JDBC aussi !  




 
oui mais bon c'est jamais qu'une indirection. Mais bon j'ai pas été complet. Je voulais dire "accessible via JDBC". Et donc via le bridge JDBC-ODBC tu peux accéder les BD "ODBC" (vive les perfs d'ailleurs dans ce cas de figure)

Reply

Marsh Posté le 17-04-2002 à 10:54:56    

DarkLord a écrit a écrit :

 
 
oui mais bon c'est jamais qu'une indirection. Mais bon j'ai pas été complet. Je voulais dire "accessible via JDBC". Et donc via le bridge JDBC-ODBC tu peux accéder les BD "ODBC" (vive les perfs d'ailleurs dans ce cas de figure)  




 
...si merdiques que ça !?

Reply

Marsh Posté le 17-04-2002 à 10:56:02    

el_gringo a écrit a écrit :

 
 
...si merdiques que ça !?  




 
pour une petite utilisation non. Mais le temps d'éxécution peut très vite prendre des proportions IMMENSES dans le cas d'une query lourde.

Reply

Marsh Posté le 17-04-2002 à 10:59:25    

Arrghh ! Damned !
j'ai installé MySQL et je veux juste créer une tout pitite base de données pour pouvoir faire des requêtes !!! .. et je me trouve en train de lire une doc de 757 pages !! :cry:  
 
après, c bon je me demmerde, j'ai les drivers pour mysql et tout...
 
help!

Reply

Marsh Posté le 17-04-2002 à 11:00:09    

chichos a écrit a écrit :

Arrghh ! Damned !
j'ai installé MySQL et je veux juste créer une tout pitite base de données pour pouvoir faire des requêtes !!! .. et je me trouve en train de lire une doc de 757 pages !! :cry:  
 
après, c bon je me demmerde, j'ai les drivers pour mysql et tout...
 
help!  




 
Tu accèdes à ta BD comment. Via JAVA? Si oui j'ai des codes de connection qui traine et que je peux te filer si tu veux

Reply

Marsh Posté le 17-04-2002 à 11:00:09   

Reply

Marsh Posté le 17-04-2002 à 11:08:53    

ouais, j'y accède via Java
.... et je veux bien les bouts de code si ça t'embêtes pas trop
 
 :jap:

Reply

Marsh Posté le 17-04-2002 à 11:13:39    

DarkLord a écrit a écrit :

 
 
pour une petite utilisation non. Mais le temps d'éxécution peut très vite prendre des proportions IMMENSES dans le cas d'une query lourde.  




 
ha, c emmerdant ça. g plutot des grosses requêtes moi qd même.
Enfin, genre chercher jusqu'a 500 enregistrements dans une tablea qui peut en contenir plusieurs millions, on peut dire que c une query lourde, non !?

Reply

Marsh Posté le 17-04-2002 à 11:21:27    

J'ai encore une question con à vous soumettre !
 
Puis je faire :
1-créer une base de données avec ACCESS (ça a l'air facile!)
2-pouvoir faire des requêtes sur cet base via JDBC-ODBC ?
 
j'aimerai pouvoir mettre en place cette base assez rapidement étant donné que cela représente une infime partie de mon projet !
(... et oui, on est amenés à se revoir souvent par ici .. :D )

Reply

Marsh Posté le 17-04-2002 à 11:31:28    

pour ceux, comme moi qui savent pas se servir de MySQL pour faire des bases de données toutes simples :
 
http://igsinfo.nexenservices.com/Doc_Mysql.htm
 
voilà voilou !

Reply

Marsh Posté le 17-04-2002 à 11:33:59    

el_gringo a écrit a écrit :

 
ha, c emmerdant ça. g plutot des grosses requêtes moi qd même.
Enfin, genre chercher jusqu'a 500 enregistrements dans une tablea qui peut en contenir plusieurs millions, on peut dire que c une query lourde, non !?  




 
sortir 500 enregistrements sur +eurs millions ce n'est pas une query lourde si tu ne dois tester qu'un champ par exemple. (voitures de couleur verte)
 
à mon avis, DarkLord en disant "query lourde" faisait référence à des requêtes SQL complexes avec des jointures et autres festivités locales :)
 
c'est ça DarkLord ?

 

[jfdsdjhfuetppo]--Message édité par TBone--[/jfdsdjhfuetppo]


---------------
A straight line is a special case of a curve. It's a curve which is uncurved. -- Susskind.
Reply

Marsh Posté le 17-04-2002 à 11:45:33    

chichos a écrit a écrit :

J'ai encore une question con à vous soumettre !
 
Puis je faire :
1-créer une base de données avec ACCESS (ça a l'air facile!)
2-pouvoir faire des requêtes sur cet base via JDBC-ODBC ?




 
1 - Oui
2 - Oui mais tu dois configurer ta source ODBC sur la machine où est installée Access (voir panneaux de config -> ODBC

Reply

Marsh Posté le 17-04-2002 à 11:47:00    

TBone a écrit a écrit :

 
 
sortir 500 enregistrements sur +eurs millions ce n'est pas une query lourde si tu ne dois tester qu'un champ par exemple. (voitures de couleur verte)
 
à mon avis, DarkLord en disant "query lourde" faisait référence à des requêtes SQL complexes avec des jointures et autres festivités locales :)
 
c'est ça DarkLord ?  
 
 




 
Absolument

Reply

Marsh Posté le 17-04-2002 à 11:50:32    

chichos a écrit a écrit :

ouais, j'y accède via Java
.... et je veux bien les bouts de code si ça t'embêtes pas trop
 
 :jap:  




 
Si tu t'y connais un peu en Java ,le but est de récupérer un objet de type Connection avec lequel tu peux executer du SQL et recuper le resultat (voir JDBC sur le site de SUN pour une explication de tout cela.
 
En gros dans ton objet tu pourrais avoir une déclaration du genre
 
private Connection conn = null;
 
puis une méthode
 

Code :
  1. private void getConnection(){
  2.   if (conn == null){
  3.     try{
  4.       Class.forName("org.gjt.mm.mysql.Driver" );
  5.       conn =  DriverManager.getConnection("jdbc:mysql://localhost:3306/hub",login, password);
  6. } catch (SQLException e){
  7.             System.out.println(e.getMessage());
  8. } catch (ClassNotFoundException e){
  9.             System.out.println(e.getMessage());
  10. }
  11.     }
  12.   }

Reply

Marsh Posté le 17-04-2002 à 11:56:29    

Okay.
y'a juste à configurer l'onglet "source de donnée fichier" juste pour indiquer où se trouve la base ?
ça revient à faire une connexion entre la base et ODBC ?
ensuite moi je fais une connexion entre JDBC et ODBC via mon driver et ensuite je peux faire mes requêtes grâce à des programmes Java
 
Je suis dans le vrai là .. ou pas du tout ?  :sweat:

Reply

Marsh Posté le 17-04-2002 à 11:59:14    

tu es dans le vrai. Sur le web il y a plein de site qui expliquent pas à pas comment:
 
1. Configurer ta base Access pour ODBC
2. Préparer la connection en Java
3. Crée des requetes en SQL via Java
4. Récupérer les resultats
 
Je me souviens il y a 7 ans j'ai fait une petit prog de gestion de MP3 via base access et j'avais très vite trouvé un site expliquant tout de A à Z. Je te conseille de chercher (tu arriveras à un résultat probabant bcp plus rapidement).
 
Si tu as d'autres questions ...

Reply

Marsh Posté le 17-04-2002 à 12:00:39    

ouaaahhh !  
je vois dans l'URL "localhost:3306"
La base doit-elle être sur un serveur ? (détail que je ne soupçonnait pas du tout)
Si oui, j'ai Tomcat sur mon ordi... ça marche aussi ça, non ?

Reply

Marsh Posté le 17-04-2002 à 12:02:50    

chichos a écrit a écrit :

ouaaahhh !  
je vois dans l'URL "localhost:3306"
La base doit-elle être sur un serveur ? (détail que je ne soupçonnait pas du tout)
Si oui, j'ai Tomcat sur mon ordi... ça marche aussi ça, non ?  




 
Bah non, si ta base est en local, c très bien.
Mais dans quelle URL tu vois ça ?
Tomcat, ça sert pas à ça !
C un moteur de servlet. bref ça sert à faire tourner des servlets, un truc dont t'as pas besoin pr l'instant j'crois...

 

[jfdsdjhfuetppo]--Message édité par el_gringo--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 17-04-2002 à 12:03:11    

Okay, merci pour tout.
C'est vrai qu'il y a Google et je l'utilise à fond ... mais quand tu sais pas trop vers où chercher et que tu te noies dans la doc de Sun...
Là, j'ai les idées un peu plus claires !
 :jap:

Reply

Marsh Posté le 17-04-2002 à 12:06:51    

chichos a écrit a écrit :

ouaaahhh !  
je vois dans l'URL "localhost:3306"
La base doit-elle être sur un serveur ? (détail que je ne soupçonnait pas du tout)
Si oui, j'ai Tomcat sur mon ordi... ça marche aussi ça, non ?  




 
pour info, localhost est l'url du loopback (ie 127.0.0.1) qui est la machine en question. Ce n'est pas parce que tu utilises une URL que ca doit etre forcément distant. C'est juste un mécanisme standard ...

Reply

Marsh Posté le 17-04-2002 à 12:08:26    

ah!  si! j'autai p'tre besoin des servlets justement !
je l'ai pas dit avant ... désolé
Un client qui se logge pour un Service par exemple ... doit rentrer un username et un loggin via une page JSP qui elle va utiliser une servlet pour aller consulter LA fameuse base de données (via donc JDBC) (ça va, c'est pas trop tordu ?)
... et la servlet se trouve donc sur Tomcat ? Mais la base de données ? sur Tomcat aussi ? c'est possible ça ? c'est pas prévu pour non ?

Reply

Marsh Posté le 17-04-2002 à 12:13:48    

chichos a écrit a écrit :

ah!  si! j'autai p'tre besoin des servlets justement !
je l'ai pas dit avant ... désolé
Un client qui se logge pour un Service par exemple ... doit rentrer un username et un loggin via une page JSP qui elle va utiliser une servlet pour aller consulter LA fameuse base de données (via donc JDBC) (ça va, c'est pas trop tordu ?)
... et la servlet se trouve donc sur Tomcat ? Mais la base de données ? sur Tomcat aussi ? c'est possible ça ? c'est pas prévu pour non ?  




tu as tout juste sauf pour la BD. Tomcat va faire tourner ta servlet qui va pouvoir répondre aux invocations de ta JSP. Ensuite elle pourra accéder, via JDBC, à ta base. Tu dois fournir (comme je le montre dans le bout de code) l'endroit où est la BD.
 
Si tu veux tout sur la machine tu dois
 
1. Installer tomcat
2. Installer Access
3. Créer ta bd access
4. Configurer ta BD access (login, password, "url" )
5. Mettre les informations de 4 à disposition de ta servlet
6. Ecrice le code qui répond aux requetes et compagnie
 
Pas d'amalgames please (tomcat n'a rien à voir avec une BD)

Reply

Marsh Posté le 17-04-2002 à 12:18:49    

DarkLord a écrit a écrit :

 
 
oui mais bon c'est jamais qu'une indirection. Mais bon j'ai pas été complet. Je voulais dire "accessible via JDBC". Et donc via le bridge JDBC-ODBC tu peux accéder les BD "ODBC" (vive les perfs d'ailleurs dans ce cas de figure)  




 
Et tu sais si les perfs de Php via ODBC sont plus correctes que celle de JDBC (via ODBC aussi) ?

 

[jfdsdjhfuetppo]--Message édité par el_gringo--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 17-04-2002 à 12:21:32    

el_gringo a écrit a écrit :

 
 
Et tu sais si les perfs de Php via ODBC sont plus correctes que celle de JDBC (via ODBC aussi) ?  
 
 




 
aucune idée. Je ne suis plus orienté web (présentation layer) depuis des années. Et je n'ai jamais fait de PHP donc je ne saurais pas te répondre. Mais la quesiton est intéressante (et mérite peut etre un topic séparé).

Reply

Marsh Posté le 17-04-2002 à 12:25:23    

DarkLord a écrit a écrit :

 
 
aucune idée. Je ne suis plus orienté web (présentation layer) depuis des années. Et je n'ai jamais fait de PHP donc je ne saurais pas te répondre. Mais la quesiton est intéressante (et mérite peut etre un topic séparé).  




 
Alors c parti...

Reply

Marsh Posté le 17-04-2002 à 13:44:03    

En tout cas merci à tous pour vos explications. :jap:  
Je vais essayer de mettre tout ça en place
A bientôt pour d'autres questions. J'en ai pas fini avec vous :D

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed