gpt4 book ai didi

JAVA- JDBC- ORACLE 连接问题

转载 作者:行者123 更新时间:2023-11-30 02:58:43 26 4
gpt4 key购买 nike

使用标准 JDBC 代码进行 JAVA-ORACLE 连接,但不起作用。

这可能会早些时候被问到,但我无法自己调试它,所以在这里询问。请求帮助。

代码:

import java.sql.*;
class OracleCon {
public static void main(String args[]) {
try {
// step1 load the driver class
Class.forName("oracle.jdbc.driver.OracleDriver");

// step2 create the connection object
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe", "system",
"nikhil.nik");

/*
* Hostname: Host system for the Oracle database. For your Express
* Edition database, the hostname is localhost. Port: Listener port.
* The default is 1521. SID: Database name. The default for Express
* Edition is xe.
*/

// step3 create the statement object
Statement stmt = con.createStatement();

// step4 execute query
ResultSet rs = stmt.executeQuery("SELECT TEST_NAME FROM TEST1");
// System.out.println(rs);

while (rs.next())
System.out.println(rs.getInt(1) + " " + rs.getString(2) + " "
+ rs.getString(3));

// step5 close the connection object
con.close();

} catch (Exception e) {
System.out.println(e);
}

}

}

堆栈跟踪:

java.sql.SQLException: Fail to convert to internal representation 
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:208)
at oracle.jdbc.driver.CharCommonAccessor.getInt(CharCommonAccessor.java:132)
at oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:521)
at dbPrograms.OracleCon.main(OracleCon.java:31)

最佳答案

您选择了列 TEST_NAME 并将其值提取为 int。此操作失败,因为 Oracle 无法相应地转换值。使用适合列类型的 ResultSet 方法。

此外,您还选择一列并访问 ResultSet 中的三列,因此您可能需要调整选择命令。

关于JAVA- JDBC- ORACLE 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36497433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com