net.ucanaccess.jdbc.UcanaccessSQLException:UCAExc ::: 4.0.4意外令牌:DAY

时间:2019-06-01 07:44:57

标签: java jdbc ucanaccess

public void sqlData() throws ClassNotFoundException, SQLException
{

    Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
    Connection con = DriverManager.getConnection("jdbc:ucanaccess://path;
    String qry = "SELECT Patient.NAME AS patient, Patient.DISEASE AS 
    disease FROM Patient, Doctor WHERE 
    Patient.DISEASE=Doctor.SPECIALIZATION";
    try{

      Statement st = con.createStatement();
      ResultSet rs = st.executeQuery(qry);
      DefaultTableModel model = (DefaultTableModel)appoint_table.getModel();
      int x =1;
      while(rs.next())
      {
        String rrr = rs.getString("patient");
        System.out.println(rrr);

      }
    }
    catch(SQLException e)
    {
        System.out.println(e);
    }
}

1 个答案:

答案 0 :(得分:0)

您发布的代码不太可能会引发该异常,但是我尝试在假设太多细节的情况下进行回答以正确执行此操作。反正...


我认为:

  1. 您正在使用JPA
  2. 您设置了delimited-identifiers
  3. 您还使用EclipseLink作为实现。

如果是,请执行以下操作:

在persistence.xml中包含目标数据库条目:

    <property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.AccessPlatformDelimiterConfig"/>

将新类添加到您的类路径中:

package org.eclipse.persistence.platform.database;

public class AccessPlatformDelimiterConfig extends AccessPlatform {

    private static final long serialVersionUID = 7034590043310425678L;

    public AccessPlatformDelimiterConfig() {
        super();
        this.tableQualifier = "";
        this.startDelimiter = "";
        this.endDelimiter = "";
    }
}