java.sql.SQLSyntaxErrorException:ORA-00911:oracle 11g中的无效字符

java.sql.SQLSyntaxErrorException:ORA-00911:oracle 11g中的无效字符,java,oracle,jdbc,Java,Oracle,Jdbc,当我尝试将数据插入oracle 11g数据库时,标题中出现了错误。以下是表格详细信息和我使用的函数: private static void insertDetails() throws Exception{ Scanner sc=new Scanner(System.in); Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","AJ204","prac

当我尝试将数据插入oracle 11g数据库时,标题中出现了错误。以下是表格详细信息和我使用的函数:

private static void insertDetails() throws Exception{
        Scanner sc=new Scanner(System.in);
        Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","AJ204","pract");  
        System.out.println("Connected database successfully...");
        PreparedStatement ps=null;
        ps=con.prepareStatement("INSERT INTO `STUDENT_PERS_DETAILS`(ENROLL_NO,NAME,GENDER,PERMANENT_ADDRESS_HOUSE_NO.,PERMANENT_ADDRESS_STREET_NAME,PERM._ADDR._NEAREST_LANDMARK,PERM._ADDR._PINCODE,CONTACT_NO.,EMAIL_ADDRESS,AADHAR) VALUE (?,?,?,?,?,?,?,?,?,?)");
        System.out.println("Enter the student's details");
        System.out.println("Enroll_No:");
        long enroll_no=sc.nextLong();
        ps.setLong(1, enroll_no);
        System.out.println("Name:");
        sc.nextLine();
        String name2=sc.nextLine();
        ps.setString(2, name2);
        System.out.println("Gender:");
        String gndr=sc.nextLine();
        ps.setString(3, gndr);
        System.out.println("Permanent Address details:");
        System.out.println("\tHouse No.:");
        String house_no=sc.nextLine();
        ps.setString(4, house_no);
        System.out.println("\tStreet Name:");
        String street=sc.nextLine();
        ps.setString(5, street);
        System.out.println("\tNearest Landmark:");
        String landmark=sc.nextLine();
        ps.setString(6,landmark);
        System.out.println("\tPincode:");
        long pincode=sc.nextLong();
        ps.setLong(7, pincode);
        System.out.println("Contact No.:");
        long cntct_no=sc.nextLong();
        ps.setLong(8, cntct_no);
        System.out.println("Email:");
        String email=sc.nextLine();
        ps.setString(9,email);
        System.out.println("Aadhaar No.:");
        long aadhaar_no=sc.nextLong();
        ps.setLong(10, aadhaar_no);
        System.out.println("Set success");
        int n=ps.executeUpdate();
        System.out.println("Updated");
        ps.close();
        con.close();
    }

SQL语句的结果如下:

INSERT INTO `STUDENT_PERS_DETAILS` (
    ENROLL_NO,
    NAME,
    GENDER,
    PERMANENT_ADDRESS_HOUSE_NO.,
    PERMANENT_ADDRESS_STREET_NAME,
    PERM._ADDR._NEAREST_LANDMARK,
    PERM._ADDR._PINCODE,
    CONTACT_NO.,
    EMAIL_ADDRESS,
    AADHAR) 
VALUE 
    (?,?,?,?,?,?,?,?,?,?)
它有几个错误:

表名不能用反勾号括起来,请将其删除 列名不能包含点。除非双引号,但这是没有用的 关键字值必须是值
格式化这段代码怎么样?如果你能让它更容易阅读,那就太好了。另外,删除图像链接并在问题中输入“STUDENT_PERS_DETAILS”是SQ中的无效标识符:将VALUE更改为VALUESTry以使用任何sql客户端应用程序生成无错误查询