IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

connexion à oracle 10g via JDBC


Sujet :

JDBC Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut connexion à oracle 10g via JDBC
    Bonjour à tous,

    j'essaie depuis quelques jours à me connecter à une base de données oracle 10g sous MyEclipse mais j'arrive pas.

    j'ai réussi à me connecter à Access toujours sous MyEclipse et via JDBC.

    voici le code que j'utilise cette fois pour oracle:
    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
     
    import java.sql.*; 
     
    public class connexionOracle 
    {
    	public static void main (String[] args)
    	{
    		try{
    			Class.forName ("oracle.jdbc.driver.OracleDriver");
    		}
    		catch(Exception e)
    		{e.printStackTrace ();}
    		try{
     
    		Connection con= DriverManager.getConnection ("jdbc:oracle:thin:@localhost.1:1521:XE");
     
    			System.out.println ("ça marche ");
    			System.in.read ();
    		}
    		catch(Exception e)
    		{
    			System.out.println ("la connexion a échoué");
    			e.printStackTrace ();
    			}}}
    voici l'ensemble des erreurs que m'affichent ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    java.sql.SQLException: arguments non valides dans l'appel
    	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    	at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)
    	at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:184)
    	at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:371)
    	at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:551)
    	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:351)
    	at java.sql.DriverManager.getConnection(DriverManager.java:582)
    	at java.sql.DriverManager.getConnection(DriverManager.java:207)
    	at connexionOracle.main(connexionOracle.java:14)
    j'attends vos remarques et merci d'avance.


    bonne soirée

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    Bonsoir !

    Tu as apparemment une incompatibilité entre ta manière de déclarer la connexion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jdbc:oracle:thin:@localhost.1:1521:XE
    et tes drivers.

    1.Tu déclares une connexion de type thin. Tu as les pilotes oracles correspondants dans ton classpath ?

    2. Sinon
    arguments non valides dans l'appel
    me laisser penser que la méthode getConnection(String) n'est peut-être pas géré par tes pilotes.
    Essaye celle ou tu précises chaque paramètre dans une String
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getConnection(String url, String user, String password)
    Ils flottent tous en bas

  3. #3
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    Le problème doit venir de l'url de connexion, essaye plutôt ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jdbc:oracle:thin:@localhost:1521:XE
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut connexion oracle 10g via JDBC
    bonjour à tous!

    tout d'abord je vous remercie pour l'intérêt que vous avez apporté à mon problème.

    Dans le code que j'ai mis dans le forum j'ai oublié de supprimer le 1.
    en fait j'utilise celui la :

    Connection con= DriverManager.getConnection
    ("jdbc:oracle:thin:@localhost:1521:XE");

    je viens de modifier le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String url= "jdbc:oracle:thin:@localhost:1521:XE";
    	    String user="system";
    	    String pass="fati";
    		Connection con= DriverManager.getConnection (url,user,pass);
    et voici les erreurs qu'ils m'affichent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    java.sql.SQLException: Exception d'E/S: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=168821248)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
    	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
    	at oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:3668)
    	at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:353)
    	at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:371)
    	at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:551)
    	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:351)la connexion a échoué
     
    	at java.sql.DriverManager.getConnection(DriverManager.java:582)
    	at java.sql.DriverManager.getConnection(DriverManager.java:185)
    	at connexionOracle.main(connexionOracle.java:16)
    merci à vous

  5. #5
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    essayes ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Class.forName ("oracle.jdbc.OracleDriver");
    au lieu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class.forName ("oracle.jdbc.driver.OracleDriver");
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut connexion oracle 10g via JDBC
    je viens de modifier le code:

    Class.forName ("oracle.jdbc.OracleDriver");

    mais en exécutant le code je trouve les mm erreurs.

    en fait je veux m'assurer sur un point, j'ai suis les mm étapes que j'ai fait pour se connecter à une base de données Access! donc au niveau des outils d'administration/sources de données, j'ai ajouter la base de données oracle en précisant un pilote. sauf que il y a plusieurs pilotes: Oracle in XEClient ou bien Oracle dans OraDb10g_home1 ou celui de Microsoft ODBC for Oracle??

    merci a vous

  7. #7
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut connexion oracle 10g via JDBC
    bonsoir à tous

    enfin le problème est résolu!

    merci à vous

    voici mon dernier code:
    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
     
    import java.sql.*; 
     
    public class connexionOracle 
    {
    	public static void main (String[] args)
    	{
    		try{
    			Class.forName ("oracle.jdbc.OracleDriver");
    		}
    		catch(Exception e)
    		{e.printStackTrace ();}
    		try{
    	    String url= "jdbc:oracle:thin://localhost:1521:XE";
    	    String user="system";
    	    String pass="fati";
    		Connection con= DriverManager.getConnection (url,user,pass);
     
    			System.out.println ("ça marche ");
    			System.in.read ();
    		}
    		catch(Exception e)
    		{
    			System.out.println ("la connexion a échoué");
    			e.printStackTrace ();
    			}}}

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    Cool
    Tu peux nous dire ce qui t'a permis de résoudre ton problème ? Cela peut être instructif pour tout le monde
    Dans le code, je vois pas de différence pour la connexion.
    Ils flottent tous en bas

  9. #9
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut connexion oracle 10g via JDBC
    il faut dire que moi même j'arrive pas à identifier exactement mon prob!

    pour la connexion avec oracle j'ai suivi les mm étapes déjà faites avec Access et ça n'a pas voulu marché!
    au niveau de la ligne String url= "jdbc:oracle:thin://localhost:1521:XE"
    j'avais @localhost au lieu de //localhost! une fois je l'ai modifié ça a marché!!!

    en fait dans mon poste j'ai oracle 10g et je travaille sur un autre poste avec oracle 8i, dans j'ai copier/coller mon code pour le tester avec oracle 8i! au début ça n a pas marché mais en modifiant cette fois ci //localhost avec @localhost ça marche!!!

  10. #10
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut connexion oracle 10g via JDBC
    re bonjour

    c'est toujours moi mais cette fois ci avec un autre prob
    enfin la connexion est établie avec oracle, maintenant j'essaie d'exécuter une requête de type select mais ça donne pas de résultat et aussi aucune erreur

    voici le code( j'ai essayé le mm code avec Access et ça a marché)

    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
     
     
    import java.sql.*;
    public class EssaiSelect
    {
    	public static void main (String[] args)
    	{try
    {Class.forName ("oracle.jdbc.OracleDriver");}
     
    		catch(Exception e)
    {System.out.println ("le pilote n'a pu être chargé");}
    try
    {
    	String url= "jdbc:oracle:thin://localhost:1521:XE";
        String user="system";
        String pass="fati";
    	Connection con= DriverManager.getConnection (url,user,pass);
     
    			Statement select=con.createStatement ();
     
               ResultSet res =select.executeQuery("SELECT * "+"FROM client");
     
    			while(res.next())
    			    {
    				int num=res.getInt(1);
    	            System.out.println ("Num :" +num);
    				}
    				select.close();
    				con.close ();
    			}
    			catch(Exception e)
    			{
    				e.printStackTrace ();
     
    			}
    		}
    	}

  11. #11
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    avec le message d'erreur ce serait mieux !
    cependant, sans le voir je peux te dire que tu as ou tu auras un problème avec cette instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int num=res.getInt(1);
    En effet, tu fais un "select *" les champs se retrouve pas forcement dans l'ordre que tu le pense.
    Tu devrais plutôt faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int num=res.getInt("Non du champ");
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut connexion oracle 10g via JDBC
    bonjour !

    je viens de modifier le code comme vous m'avez indiqué mais toujours rien de rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    while(res.next())
    			    {
    				int num=res.getInt("num");
    	                        System.out.println ("Num :" +num);
    				}
    une remarque c'est qu'on effectuant une requête de type insert/update ou delete ça passe bien, les changements se passent au niveau de la base de données.

    en plus j'ai déjà essayé la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    while(res.next())
    			    {
    				int num=res.getInt(1);
    	                        System.out.println ("Num :" +num);
    				}
    avec acess et j'ai eu des résultats affichés

  13. #13
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    Comme je l'ai dis dans mon message précédent ce serait plus facile si on avait le message d'erreur !
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    Il n'y a pas d'erreur. Il n'y a pas de résultats à la requête.

    enfin la connexion est établie avec oracle, maintenant j'essaie d'exécuter une requête de type select mais ça donne pas de résultat et aussi aucune erreur
    Ils flottent tous en bas

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    Tu es sûr de taper sur la bonne base (XE) ?
    Si oui, la table en question contient bien des lignes ?
    Ils flottent tous en bas

  16. #16
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    la table client est vide, simplement.

Discussions similaires

  1. [Oracle] Connexion à Oracle 10g
    Par Chikh001 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/03/2008, 10h06
  2. Connexion d'openoffice à oracle XE via JDBC
    Par Davhippo dans le forum Connexions aux bases de données
    Réponses: 3
    Dernier message: 20/02/2008, 11h07
  3. connexion oracle 10g
    Par dodoo dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/04/2007, 23h04
  4. Connexion Oracle 10g Express Edition
    Par Virgile59 dans le forum Oracle
    Réponses: 1
    Dernier message: 03/01/2007, 16h55
  5. Problème de connexion à Oracle 10g avec java1.5
    Par ELODIE2 dans le forum JDBC
    Réponses: 2
    Dernier message: 21/10/2006, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo