我是Java相关Web开发的新手,我似乎无法使用JDBC工作来获得简单的程序。我正在使用现成的Oracle 10g XE和Eclipse EE IDE。从我到目前为止检查过的书籍和网页中,我已经将问题缩小到写入不正确的数据库URL或缺少JAR文件。我收到以下错误:使用JDBC连接到Oracle数据库的URL字符串格式
java.sql.SQLException: No suitable driver found for jdbc:oracle://127.0.0.1:8080
用下面的代码:
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);
}
}
}
什么是数据库URL的正确格式,反正?他们提到了很多,但我一直无法找到描述。
EDIT(分辨率):
基于duffymo的答案,我从Oracle's download site得到ojdbc14.jar
和Eclipse项目的引用的库放弃了它。然后我将代码的开头更改为
...
// jdbc:oracle:thin:@<hostname>:<port>:<sid>
String url = "jdbc:oracle:thin:@GalacticAC:1521:xe";
...
它工作。
只是想更新的文件似乎已经搬到这里: http://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html顶部投票答案中提供的链接现在重定向到404页面。 – drosenblatt 2014-01-29 16:45:04
使用SID的连接字符串越来越老式。使用服务名称可以提高DBA的灵活性(例如,在一个数据库实例上托管多个服务(整合)或为一个服务(RAC)使用多个实例)。请参阅@Pops答案。 – 2014-02-11 10:18:44