我正在开发一个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”,因为我在浏览器中获取数据库管理器的地址如下:
但是我也试过“jdbc:oracle:thin:@ // 127.0.0.1:8080”,但没有用。请帮忙。
我正在运行Windows 8 x64。
答案 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