【发布时间】:2019-11-19 05:02:58
【问题描述】:
我想寻求帮助。我无法将我的 java 连接到 oracle 10g express 版本。我已经尝试解决这个问题大约 3 天了。我已经将我的 javac 和 java 降级到 1.8,因为它是 youtube 上关于如何解决这个问题的唯一可用教程,但它仍然不起作用。我的程序确实编译了,当我尝试运行它时,我的终端显示“java.sql.SQLException: ORA-00911: invalid character”。我使用的是 java.swing 而不是 javafx。请帮助我,我是新手,谢谢!
import java.sql.*;
class OracleCon{
public static void main(String args[]){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:xe","customer","customer");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from customer;");
while(rs.next())
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3));
con.close();
}catch(Exception e){ System.out.println(e);}
}
}
【问题讨论】:
-
显示代码怎么样。
-
更多信息将
System.out.println(e);更改为e.printStackTrace()- 实际选择您想要的列而不是*会更安全 -
我试图改变它发生了这种情况:
java.sql.SQLException: Invalid column index 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.OracleResultSetImpl.getString(OracleResultSetImpl.java:379) at OracleCon.main(OracleCon.java:17) -
是的,实际选择列可能更好。好像没有三列
-
我尝试了“从客户中选择名称”而不是“从客户中选择 *”。当我运行它时它显示
java.sql.SQLException: Fail to convert to internal representation