无法通过JDBC连接Oracle 10g第2版(10.2)Express Edition

时间:2013-01-28 19:49:04

标签: jdbc oracle10g

我正在开发一个Java EE项目。我在我的项目WebContent / WEB-INF / lib中包含了来自here的ojdbc14.JAR

我编写的代码:

Connection conn = null;
String driverName = "oracle.jdbc.OracleDriver";
String url = "jdbc:oracle:thin:@//127.0.0.1:8080/apex";
Class.forName(driverName);
conn = DriverManager.getConnection(url, "system", "mahesh");

我得到的运行时异常是:

java.sql.SQLException: Io exception: Got minus one from a read call
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:420)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.obos.utility.ConnectionManager.main(ConnectionManager.java:26)

从最后一行,异常发生在DriverManager.getConnection()

我怀疑问题出在连接字符串中,因为我可以通过SQL命令行实用程序使用用户名和密码登录。但我无法纠正它。

我使用了“jdbc:oracle:thin:@ // 127.0.0.1:8080/apex”,因为我在浏览器中获取数据库管理器的地址如下:

enter image description here

但是我也试过“jdbc:oracle:thin:@ // 127.0.0.1:8080”,但没有用。请帮忙。

我正在运行Windows 8 x64。

2 个答案:

答案 0 :(得分:2)

8080是托管webapp的Web服务器的端口,允许访问数据库。数据库本身不会侦听此端口。 AFAIR,Oracle数据库的默认端口是1521.有关详细信息,请阅读http://docs.oracle.com/cd/B25329_01/doc/appdev.102/b25320/getconn.htm

答案 1 :(得分:1)

你犯了和我一样的错误

连接字符串应为

String url = jdbc:oracle:thin:@ 127.0.0.1:1521:XE