Drivers JDBC : où est ce qu'ils se trouvent !? - Programmation
Marsh Posté le 02-04-2002 à 14:32:26
bin non. JDBC c'est une couche abstraire d'accès. Tu as des implémentations chez les constructeurs (oracle, mysql, access, etc). Tu peux utiliser le pont générige jdbc-odbc avec Access par exemple mais tu dois configurer ODBC sur le serveur pour cela.
A+
Marsh Posté le 02-04-2002 à 14:45:42
Dans la config d'une source de donnée system ODBC, je n'vois rien qui semble lié aux JDBC...
Et, selon la base de données (je bosse avec plein de bases différentes: Oracle, db2, SQL Serveur, ...), je dois me démerder pour trouver comment y accèder en JDBC !? Odbc c qd même vachement + simple...
Marsh Posté le 02-04-2002 à 14:58:17
bon ...
Quel est ton problème exactement?
Si c'est une question de drivers, voici la réponse: Chaque BD a ses propres drivers qui sont fournis avec la release de la DB. Lorque tu veux te connecter via JDBC tu dois d'abord enregistrer (=charger) le driver de la base de données en question.
Class.forName(....)
et puis tu te connectes avec une URL du genre:
jdbc:oracle:thin:@XXXX.int.kiala.com:1521:kialadev
Marsh Posté le 02-04-2002 à 14:58:32
DarkLord a écrit a écrit : bon ... Quel est ton problème exactement? Si c'est une question de drivers, voici la réponse: Chaque BD a ses propres drivers qui sont fournis avec la release de la DB. Lorque tu veux te connecter via JDBC tu dois d'abord enregistrer (=charger) le driver de la base de données en question. Class.forName(....) et puis tu te connectes avec une URL du genre: jdbc:oracle:thin:@XXXX.int.kiala.com:1521:kialadev |
Marsh Posté le 02-04-2002 à 15:01:59
DarkLord a écrit a écrit : bon ... Quel est ton problème exactement? Si c'est une question de drivers, voici la réponse: Chaque BD a ses propres drivers qui sont fournis avec la release de la DB. Lorque tu veux te connecter via JDBC tu dois d'abord enregistrer (=charger) le driver de la base de données en question. Class.forName(....) et puis tu te connectes avec une URL du genre: jdbc:oracle:thin:@XXXX.int.kiala.com:1521:kialadev |
En fait, mon pb, c que g jammais utilisé JDBC, et que je vois pas comment faire.
En gros, ce que tu me dis, c que, qd on instale les client oracle (ou autre), ça installe les drivers JDBC. ok.
Mais, avec ODBC, il faut créer des trucs manuellement pour l'accès à la base de données (panneau de config, sources de données ODBC, ajouter une source de données système. Et on paramètre plein de trucs...). Pour JDBC, y a pas tout ça !?
Et comment on le connait cette URL genre jdbc:oracle:thin:@XXXX.int.kiala.com:1521:kialadev !?
Marsh Posté le 02-04-2002 à 15:06:29
alors le gringo, on se met au Java un peu ?
Tu vas voir, c vachement mieu que le C++
Mais sinon desole, je sais pas la solution pour ton pb
Marsh Posté le 02-04-2002 à 15:15:35
El_Gringo a écrit a écrit : Pour JDBC, y a pas tout ça !? Et comment on le connait cette URL genre jdbc:oracle:thin:@XXXX.int.kiala.com:1521:kialadev !? |
Non.
Pour l'url c'est simple
jdbc:oracle:thin: correspond au driver oracle
XXXX.int.kiala.com est le nom de la machine ou le serveur écoute
1521 est le port d'écoute de la bD
kialadev est la BD que tu veux accéder
A+
Marsh Posté le 02-04-2002 à 15:16:49
tes configurations dans panneaux de config etc tu dois les faire si tu utilies ODBC. Si tu utilises oracle par exemple, il te suffit de mettre les drivers d'oracle danas ton classpath et de te connecter via l'URL que je viens de te filer
Mais sinon google est ton ami sur ce coup là y a pleins d'exemples.
a+
Marsh Posté le 02-04-2002 à 15:17:58
par exemple
http://www.google.be/search?q=orac [...] l=en&meta=
Citation : |
Marsh Posté le 02-04-2002 à 15:19:52
DarkLord a écrit a écrit : Non. Pour l'url c'est simple jdbc:oracle:thin: correspond au driver oracle XXXX.int.kiala.com est le nom de la machine ou le serveur écoute 1521 est le port d'écoute de la bD kialadev est la BD que tu veux accéder A+ |
Ouais, mais, comment tu sais que c Oracle:thin, pour le driver Oracle !? c dans la doc Oracle ?
Ensuite, si je suis dans un réseau local. si la bd à laquelle je veux accèder est sur un poste nommé pc-mc, mon url sera:
jdbc: Oracle:thin:pc-mc:maBdLocale
c ça !?
Marsh Posté le 02-04-2002 à 15:33:22
oui plus ou moins. Et pour thin oui c'est dans la doc oracle.
Marsh Posté le 02-04-2002 à 15:34:49
DarkLord a écrit a écrit : oui plus ou moins. Et pour thin oui c'est dans la doc oracle. |
...plus ou moins !?
Marsh Posté le 02-04-2002 à 15:35:08
petoulachi a écrit a écrit : alors le gringo, on se met au Java un peu ? Tu vas voir, c vachement mieu que le C++ Mais sinon desole, je sais pas la solution pour ton pb |
T'as jammais fait d'accès BD avec Java !?
[jfdsdjhfuetppo]--Message édité par El_Gringo--[/jfdsdjhfuetppo]
Marsh Posté le 02-04-2002 à 15:39:41
El_Gringo a écrit a écrit : T'as jammais fait d'accès BD avec Java !? |
bin non ...
Marsh Posté le 02-04-2002 à 15:41:49
El_Gringo a écrit a écrit : ...plus ou moins !? |
il manquait @ et le port d'écoute dans ton url.
Marsh Posté le 02-04-2002 à 15:56:20
DarkLord a écrit a écrit : il manquait @ et le port d'écoute dans ton url. |
Et... je le connait comment le port d'écoute !?
(g l'impression d'être noeudnoeud d'un coup...)
Marsh Posté le 02-04-2002 à 16:21:05
HappyHarry a écrit a écrit : ben le port sur lequel ecoute ton listener oracle |
On peut le connaitre dynamiquement ça !?
Marsh Posté le 02-04-2002 à 16:37:40
euh ... r'es quand meme sensé savoir sur quel port ecoute ta bdd ...
[jfdsdjhfuetppo]--Message édité par HappyHarry--[/jfdsdjhfuetppo]
Marsh Posté le 02-04-2002 à 16:41:29
HappyHarry a écrit a écrit : euh ... r'es quand meme sensé savoir sur quel port ecoute ta bdd ... |
ms, avec ODBC, je me souci pas de ça. y a pas un port par défaut qui est toujours celui qu'on utilise, sauf cas exceptionels !?
Marsh Posté le 02-04-2002 à 16:42:57
ben si ta base utilise le port par defaut alors tu mets le port par defaut, je vois pas le probleme
Marsh Posté le 02-04-2002 à 16:53:02
HappyHarry a écrit a écrit : ben si ta base utilise le port par defaut alors tu mets le port par defaut, je vois pas le probleme |
Le pb c que j'étais destabilisé, parce que j'utilise des bases de données ODBC souvent, et que je me suis jammais soucié du port d'écoute. Mais à mon avis, c qu'ODBC prend ça à sa charge, pour qu'on ai pas à s'en occuper quand on écrit du code. D'ailleur, quand on utilise des base de données odbc avec jdbc, on precise pas le port d'écoute dans l'url, on met juste:
"jdbc: odbc: NomDeSourceDeDonneesOdbc" (sans les espaces, ms sinon, le forum me met de partout !
[jfdsdjhfuetppo]--Message édité par El_Gringo--[/jfdsdjhfuetppo]
Marsh Posté le 02-04-2002 à 17:00:45
bah si tu regardes dans les proprietes du DSN ODBC tu verras que le port y est spécifié
Marsh Posté le 02-04-2002 à 17:07:00
El_Gringo a écrit a écrit : Le pb c que j'étais destabilisé, parce que j'utilise des bases de données ODBC souvent, et que je me suis jammais soucié du port d'écoute. Mais à mon avis, c qu'ODBC prend ça à sa charge, pour qu'on ai pas à s'en occuper quand on écrit du code. D'ailleur, quand on utilise des base de données odbc avec jdbc, on precise pas le port d'écoute dans l'url, on met juste: "jdbc: odbc: NomDeSourceDeDonneesOdbc" (sans les espaces, ms sinon, le forum me met de partout ! |
comme le dit happy harry tu l'as spécifié lorsque tu as configuré ta source ODBC. La différence ici c'est que tu le fais au moment tu te connectes c'est tout!
Marsh Posté le 02-04-2002 à 17:12:08
bin où est le problème alors. SI tu utilies une BD oracle, soit tu es l'admin et donc tu connais le port d'écoute soit c'est dans un réseau et il y a un admin pour te filer la réponse.
Marsh Posté le 02-04-2002 à 17:29:50
Bah, en fait maintenant, y a plus de pb. ce que je voulais (et que g mal demandé, je sais. dsl), c me connecter à un pilote ODBC via JDBC.
Merci.
Marsh Posté le 02-04-2002 à 23:13:48
El_Gringo a écrit a écrit : Bah, en fait maintenant, y a plus de pb. ce que je voulais (et que g mal demandé, je sais. dsl), c me connecter à un pilote ODBC via JDBC. Merci. |
C'est justement ce qui marche le plus mal.
Marsh Posté le 03-04-2002 à 08:41:38
Verdoux a écrit a écrit : C'est justement ce qui marche le plus mal. |
En quoi ça marche mal !? c aléatoire ou les performances sont mauvaises !?
Marsh Posté le 03-04-2002 à 11:29:28
perfs mauvaises. Si tu es dans le cadre d'une appli utilise les drivers du constructeur de la DB. Regarde les différentes types de driver (Type II type III type IV, etC.)
A+
Marsh Posté le 03-04-2002 à 11:56:47
DarkLord a écrit a écrit : perfs mauvaises. Si tu es dans le cadre d'une appli utilise les drivers du constructeur de la DB. Regarde les différentes types de driver (Type II type III type IV, etC.) A+ |
Ouais, mais mon appli doit pouvoir marcher (sans être modifiée) avec toutes les bases de données. Je peux pas prévoir tous les drivers qui existent. ODBC, ça me semble la seule solution, non !?
Les perfs sont + mauvaises que quand Php utilise ODBC tu crois !?
Marsh Posté le 03-04-2002 à 16:44:43
ca fait 2 jours que je lutte avec jdbc et oracle, quelqu un pourrais me dire d ou vient ce probleme:
java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci7.OCIDBAccess.make_c_state(Native Method)
at oracle.jdbc.oci7.OCIDBAccess.logon(OCIDBAccess.java:142)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:93)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:146)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
Merci d avance
Marsh Posté le 03-04-2002 à 16:51:08
El_Gringo a écrit a écrit : Ouais, mais mon appli doit pouvoir marcher (sans être modifiée) avec toutes les bases de données. Je peux pas prévoir tous les drivers qui existent. ODBC, ça me semble la seule solution, non !? |
Bien sur que non. Tu as déjà entendu parler des fichiers properties. Il te suffit de prévoir un tel fichier (genre db.properties) et de taper là dedans:
l'url de connection
login
pwd
et rulezz. Pour JDBC-ODBC je ne vois pas en quoi c'est portable puisque tu dois quand meme configurer le pont ODBC sur la machine donc ...
Et je te déconseille fortement ODBC avec oracle.
A+
Marsh Posté le 03-04-2002 à 16:51:56
titou078 a écrit a écrit : ca fait 2 jours que je lutte avec jdbc et oracle, quelqu un pourrais me dire d ou vient ce probleme: java.lang.UnsatisfiedLinkError: make_c_state at oracle.jdbc.oci7.OCIDBAccess.make_c_state(Native Method) at oracle.jdbc.oci7.OCIDBAccess.logon(OCIDBAccess.java:142) at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:93) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:146) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) Merci d avance |
Oh bien sur c'est surement la méthode setMState qui recoit une valeur nulle tu ne crois pas ?
Marsh Posté le 03-04-2002 à 17:17:05
DarkLord a écrit a écrit : Bien sur que non. Tu as déjà entendu parler des fichiers properties. Il te suffit de prévoir un tel fichier (genre db.properties) et de taper là dedans: l'url de connection login pwd |
Ouais, t'as raison en fait. Merci.
Et, en passant, c quoi la class du JDK qui sert à écrire/lire les fichiers properties !?
DarkLord a écrit a écrit : et rulezz. Pour JDBC-ODBC je ne vois pas en quoi c'est portable puisque tu dois quand meme configurer le pont ODBC sur la machine donc ... Et je te déconseille fortement ODBC avec oracle. A+ |
En passant par JDBC, peut être. Parce qu'avec Oracle, ODBC marche très bien en C++. Je l'utilise souvent.
Marsh Posté le 03-04-2002 à 17:20:27
java.util.Properties
Marsh Posté le 03-04-2002 à 17:20:31
ReplyMarsh Posté le 03-04-2002 à 17:24:33
benou a écrit a écrit : http://www.google.fr/search?hl=fr& [...] %E9s&meta= 5e réponse |
de quoi tu te mêles !? si ça fait pas chier Darklord de répondre, c cool. Et puis, si t'as pas envie de répondre, tu répond pas ! c simple comme ça, non ?
Marsh Posté le 03-04-2002 à 17:35:29
DarkLord a écrit a écrit : Oh bien sur c'est surement la méthode setMState qui recoit une valeur nulle tu ne crois pas ? |
eeeeeee c est quoi la methode setMState, et quand est elle eppelé?
Marsh Posté le 02-04-2002 à 14:17:10
Ils sont tous compris dans la JVM ou est ce qu'il faut les télécharger !?