Je suis novice en matière de développement Web lié à Java, et je n'arrive pas à obtenir un programme simple fonctionnant avec JDBC. J'utilise Oracle 10g XE standard et l'IDE Eclipse EE. À partir des livres et des pages Web que j'ai consultés jusqu'à présent, j'ai réduit le problème à une URL de base de données mal écrite ou à un fichier JAR manquant. Je reçois l'erreur suivante:Format de chaîne d'URL pour la connexion à la base de données Oracle avec JDBC
java.sql.SQLException: No suitable driver found for jdbc:oracle://127.0.0.1:8080
avec le code suivant:
import java.sql.*;
public class DatabaseTestOne {
public static void main(String[] args) {
String url = "jdbc:oracle://127.0.0.1:8080";
String username = "HR";
String password = "samplepass";
String sql = "SELECT EMPLOYEE_ID FROM EMPLOYEES WHERE LAST_NAME='King'";
Connection connection;
try {
connection = DriverManager.getConnection(url, username, password);
Statement statement = connection.createStatement();
System.out.println(statement.execute(sql));
connection.close();
} catch (SQLException e) {
System.err.println(e);
}
}
}
Quel est le format approprié pour une URL de base de données, de toute façon? Ils sont souvent mentionnés mais je n'ai pas été capable de trouver une description.
EDIT (la résolution):
Sur la base de la réponse de duffymo, je me suis ojdbc14.jar
de Oracle's download site et a chuté dans les bibliothèques Référencés du projet Eclipse. Puis j'ai changé le début du code à
...
// jdbc:oracle:thin:@<hostname>:<port>:<sid>
String url = "jdbc:oracle:thin:@GalacticAC:1521:xe";
...
et cela a fonctionné.
Je voulais juste mettre à jour que la documentation semble avoir déplacé ici: http://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html Le lien fourni dans la réponse la mieux votée redirige désormais vers une page 404. – drosenblatt
Les chaînes de connexion utilisant les identificateurs SID deviennent relativement démodées. L'utilisation de noms de service donne beaucoup plus de souplesse à l'administrateur de base de données (par exemple, plusieurs services hébergés sur une instance de base de données (consolidation) ou plusieurs instances pour un service (RAC)). Voir @Pops réponse. –
Voyant que la question a presque cinq ans, je dirais que ce n'est pas une surprise. – duffymo