0

我正在开发一个 Java EE 项目。我已经在我的项目 WebContent/WEB-INF/lib 中包含了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”,因为我在以下地址的浏览器中获取数据库管理器:

在此处输入图像描述

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

我正在运行 Windows 8 x64。

4

2 回答 2

2

8080 是托管 webapp 的 web 服务器的端口,允许访问数据库。数据库本身不在此端口上侦听。AFAIR,Oracle 数据库的默认端口是 1521。阅读http://docs.oracle.com/cd/B25329_01/doc/appdev.102/b25320/getconn.htm了解更多信息。

于 2013-01-28T21:23:57.430 回答
1

你犯了和我一样的错误

连接字符串应该是

字符串 url = jdbc:oracle:thin:@127.0.0.1:1521:XE

于 2013-02-09T10:31:38.357 回答