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:
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:
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
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:
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:
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
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
connexion oracle 10g via JDBC
bonsoir à tous
enfin le problème est résolu!
merci à vous
voici mon dernier code:
Code:
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 ();
}}} |
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é!!!:roll:
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!!!8O
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é)8O
Code:
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 ();
}
}
} |
connexion oracle 10g via JDBC
bonjour !
je viens de modifier le code comme vous m'avez indiqué mais toujours rien de rien
Code:
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:
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