当前位置: 首页 > 知识库问答 >
问题:

java.sql.SqlSyntaxerRorexception:ORA-00942:表或视图不存在

冀啸
2023-03-14
ResultSet res=stmt.executeQuery("select * from food");
java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)
    at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:193)
    at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:852)
    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1153)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1275)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1477)
    at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:392)
    at connecttooracle.ConnectOracle.main(ConnectOracle.java:67)

我的完整代码是:

public class ConnectOracle {

 public static void main(String[] args) {

  String driver = "oracle.jdbc.driver.OracleDriver"; //

  String serverName = "10.11.201.84";
  String portNumber = "1521";
  String db = "XE";
  String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":"
    + db; // connectOracle is the data
  // source name
  String user = "ORAP"; // username of oracle database
  String pwd = "ORAP"; // password of oracle database
  Connection con = null;
  ServerSocket serverSocket = null;
  Socket socket = null;
  DataInputStream dataInputStream = null;
  DataOutputStream dataOutputStream = null;

  try {
   Class.forName(driver);// for loading the jdbc driver

   System.out.println("JDBC Driver loaded");

   con = DriverManager.getConnection(url, user, pwd);// for
                // establishing
   // connection
   // with database
   Statement stmt = (Statement) con.createStatement();

   serverSocket = new ServerSocket(8888);
   System.out.println("Listening :8888");

   while (true) {
    try {

     socket = serverSocket.accept();
     System.out.println("Connection Created");
     dataInputStream = new DataInputStream(
       socket.getInputStream());
     dataOutputStream = new DataOutputStream(
       socket.getOutputStream());
     System.out.println("ip: " + socket.getInetAddress());
     // System.out.println("message: " +
     // dataInputStream.readUTF());

     ResultSet res=stmt.executeQuery("select * from food");
     while(res.next()){
      System.out.println(res.getString(1));
     }

    } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }

    if (dataInputStream != null) {
     try {
      dataInputStream.close();
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }

    if (dataOutputStream != null) {
     try {
      dataOutputStream.close();
     } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }
   }
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}

共有1个答案

奚正谊
2023-03-14

如果您的表位于架构A之下:

select * from A.food

编辑

如果您可以使用用户ORAP通过TOAD登录并执行相同的查询(select*from food),那么您肯定在ORAP模式中拥有该表。我认为“select*from orap.food”没有理由失败。

 类似资料:
  • 问题内容: 我们正在测试中针对ORACLE 10g运行一个Java /hibernate应用程序。有时,我们会看到此错误: ORA-00942:表或视图不存在 有没有办法找出ORACLE在谈论哪个表/视图? 我知道我可以在hibernate中添加更多级别的日志记录,这将显示它在ORACLE上执行的所有SQL,然后运行该SQL以确定哪个TABLE / VIEW缺少或缺少权限。但是考虑到它是在“测试/

  • 问题内容: 尝试向现有表中插入一批行时,出现以下异常 ORA-00942:表或视图不存在 我可以确认该表存在于db中,并且可以使用oracle sql developer将数据插入该表中。但是,当我尝试在Java中使用preparestatement插入行时,其抛出表不存在错误。 请在下面找到错误的堆栈跟踪 任何人都可以提出此错误的原因吗? 更新: 问题已解决 我的数据库连接属性或表或视图名称都没

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想要改善这个问题吗? 更新问题,使它成为Stack Overflow的主题。 7年前关闭。 改善这个问题 我正在尝试将Oracle数据库连接到我的JAVA Web项目。当使用系统用户连接创建到数据库的连接时,将成功建立连接。 但是当我在连接中执行一个简单的select *命令时,它说 错误代码942,SQL状态42000:ORA-0

  • 我刚刚克隆了一个Laravel项目。我试图运行作曲家安装和PHP artisan迁移,但都返回此错误 在Connection.php行664中: SQLSTATE[42S02]:基表或视图未找到: 1146表'name.system_functions'不存在(SQL:选择*from其中=测试限制1) 在Connection.php第326行中: SQLSTATE[42S02]:找不到基表或视图:

  • 我已经浏览了许多链接,比如Spring Batch Framework-Auto create Batch Table,并尝试了许多选项,但对我来说还不起作用。 我正在使用Spring Boot项目。 UPDATE::现在我无法在MySQL上创建Spring批处理表。

  • 我正在尝试在NetBeans 8.0.2 IDE和GlassFish 4.1中运行一个名为(JSF with Facelets)的web应用程序,该应用程序通过托管bean中的以下代码访问关系数据库: 当我运行应用程序时,我在浏览器中得到以下错误: AddressBean。java第157行是: 通过以下步骤创建包含ADDRESSES表的addressbook数据库: > 右键单击GlassFis