【发布时间】:2021-06-29 09:15:37
【问题描述】:
我想使用 JDBC 连接到 Oracle 数据库。
我正确安装了ojdbc6.jar并编写了这段代码。
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConnect {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String id = "study";
String pass = "1234";
Connection con = DriverManager.getConnection(url, id, pass);
if(con != null)
System.out.println("Oracle success");
else
System.out.println("Oracle failed");
}
catch(Exception e) {
System.out.println("Error");
e.printStackTrace();
}
}
}
但是,这些错误不断发生;我是我的同事中唯一遇到这个问题的人。
Error
java.sql.SQLRecoverableException: IO Error: Undefined Error
at ojdbc6/oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419)
at ojdbc6/oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536)
at ojdbc6/oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:228)
at ojdbc6/oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at ojdbc6/oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at ex21jdbc.DBConnect.main(DBConnect.java:30)
Caused by: oracle.net.ns.NetException: Undefined Error
at ojdbc6/oracle.net.ns.NSProtocol.connect(NSProtocol.java:386)
at ojdbc6/oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1054)
at ojdbc6/oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:308)
... 7 more
我试过了
- 重新安装 jdk-11、oracle、eclipse
- 重命名我的用户文件夹(无空格,无 uni-code)
【问题讨论】:
-
虽然我认为它不能解决您的问题,但请尝试更新版本或 Oracle JDBC 驱动程序。 ojdbc6 表示它适用于 Java 6。格式化您的计算机不太可能解决此类问题。
-
重新格式化您的计算机?你会因为找不到前门的钥匙就烧毁你的房子并重建它吗?