jdbc ucanaccesssqlexception ucaexc ::: 4.0 4 неожиданный токен: ДОКТОР - PullRequest
0 голосов
/ 30 мая 2019

Я использую NetBeans с классами Java для извлечения данных из таблиц базы данных доступа и отображения их на jtable. Когда я выполнил все шаги, это выдает ошибку ucanaccess как net ucanaccess jdbc ucanaccesssqlexception ucaexc ::: 4.0 4 неожиданный токен: DOCTOR. У меня есть две таблицы в Accdb под названием «Пациент и доктор».

Я сделал все необходимое для этого.

public void viewAppointment() throws ClassNotFoundException, SQLException{    
   Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");     
   Connection conn = DriverManager.getConnection("jdbc:ucanaccess://C:/Users/AQ/Documents/NetBeansProjects/MC170402106_2/MC170402106.accdb");     
   String sql1 = "Select p.Name AS Patient, p.Disesae AS Disease, Doctor.Name AS Doctor"
           + " Doctor.Visiting_Day AS SechduleDay from Patients AS p"
           + " where p.Disease = Doctor.Specialization";     
   try{     
       ps = conn.prepareStatement(sql1);     
       rs = ps.executeQuery();      
       jTable1.setModel(DbUtils.resultSetToTableModel(rs));     
   }          
   catch(Exception e){         
       JOptionPane.showMessageDialog(null, e);       
   }        

Я ожидаю, что это возьмет данные из базы данных и отобразит их на jtable.

1 Ответ

0 голосов
/ 02 июня 2019

Я предполагаю:

  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 = "";
    }
}
...