首页 > 解决方案 > 线程“主”java.sql.SQLSyntaxErrorException 中的异常:ORA-00942:表或视图不存在

问题描述

我在 oracle 中通过 hr 更新我的新表时遇到问题,当我更新它时,它的显示表或视图不存在,但是当我在 sql cmd 行中更新它时它就在那里,我不知道为什么我的程序找不到桌子。我也签入标签,桌子在那里,所有者是 HR

package onlineCoaching.course3.JDBC;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class TestPreparedInsert {
    public static void main(String[] args) throws SQLException {
        Connection conn = conn = DBUtil.getConnection(DBType.ORADB);

        int employee_id;
        String employee_name, email;

        Scanner scanner = new Scanner(System.in);

        System.out.println("Enter Employee ID : ");
        employee_id = Integer.parseInt(scanner.nextLine());

        System.out.println("Enter Employee Name : ");
        employee_name = scanner.nextLine();

        System.out.println("Enter Email : ");
        email = scanner.nextLine();

        String sql = "insert into HR.NewEmployees values(?,?,?)";

        PreparedStatement pstmt = conn.prepareStatement(sql);

        pstmt.setInt(1, employee_id);
        pstmt.setString(2, employee_name);
        pstmt.setString(3, email);

        int result = pstmt.executeUpdate();

        if(result == 1) {
            System.out.println("Record Inserted Successfully");
        }else {
            System.out.println("Error");
        }

        scanner.close();
        pstmt.close();
        conn.close();
    }
}

DBUtil 类是

package onlineCoaching.course3.JDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBUtil {
    private static final String oraUser = "hr";
    private static final String oraPwd = "hr";
    private static final String mySqlUser = "root";
    private static final String mySqlPwd = "root";
    private static final String oraCS = "jdbc:oracle:thin:@localhost:1522:shahrukh";
    private static final String mySQLCS = "jdbc:mysql://localhost:3306/world";

    public static Connection getConnection(DBType dbType) throws SQLException {
        switch(dbType) {
        case ORADB:
            return DriverManager.getConnection(oraCS,oraUser,oraPwd);

        case MYSQLDB:
            return DriverManager.getConnection(mySQLCS,mySqlUser,mySqlPwd);

        default:
            return null;
        }
    }

    public static void showErrorMessage(SQLException e) {
        System.err.println("Error :" + e.getMessage());
        System.err.println("Error Code :" + e.getErrorCode());
    }
}

标签: javadatabaseoracleoracle11g

解决方案


推荐阅读