这是我的代码:
import java.sql.*;
public class NewClass {
public static void main(String[] args) {
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@//127.0.0.1:1521/xe","system","apnair9902");
java.sql.Statement stmt = con.createStatement();
ResultSet rs=stmt.executeQuery("select * from INV_MASTER");
while(rs.next())
System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));
con.close();
}catch(Exception e){ System.out.println(e);}
}
}
`
我收到错误:
java.sql.SQLException: ORA-00942: table or view does not exist
我已从浏览器创建并编辑了表格,但程序找不到数据库。
最佳答案
您正在从不存在的表中进行选择,或者您连接到数据库的方式导致该连接无法访问该表。
要创建表,请连接到数据库(以任何方式)并运行适当的 SQL 命令。它类似于这样的东西
CREATE TABLE INV_MASTER (
... column stuff ...
) ... optional stuff ...;
当然,您需要知道在适合您的特定需求的列和选项中填写什么内容。
如果该表已经存在,那么您正在连接到错误的数据库,使用错误的用户(这将使您进入错误的架构或数据库“区域”)或正在处理该表设置的人数据库尚未设置数据库。
此外,请仔细检查您想要的表是否确实名为 INV_MASTER,并且您不需要在其前面添加架构前缀。
关于java - 无法从oracle 11g数据库读取表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25832218/