Ошибка при перемещении данных из Excel для доступа - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь скопировать данные из файла Excel в файл доступа, и я выполняю некоторые запросы, удаляя таблицу, затем создавая ее, затем вставляя данные, зная, что в моей таблице есть несколько пробелов «список А»,запрос показывает ошибку при заключении некоторых скобок вокруг имени таблицы.

public static Vector writetableA(String fileName) {
    Vector cellVectorHolder = new Vector();
    try {

        FileInputStream myInput = new FileInputStream(new File(fileName));
        // POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);
        XSSFWorkbook myWorkBook = new XSSFWorkbook(myInput);
        XSSFSheet mySheet = myWorkBook.getSheetAt(0);
        Iterator rowIter = mySheet.rowIterator();
        while (rowIter.hasNext()) {
            XSSFRow myRow = (XSSFRow) rowIter.next();
            Iterator cellIter = myRow.cellIterator();
            // Vector cellStoreVector=new Vector();
            List list = new ArrayList();
            while (cellIter.hasNext()) {
                XSSFCell myCell = (XSSFCell) cellIter.next();
                list.add(myCell);

            }
            Connection conn = DriverManager.getConnection(
                    "jdbc:ucanaccess://C:/Users/gfas1/Desktop/DHL Addendum_Oct 8 - final/Updated DHL.accdb");
            Statement stmt = conn.createStatement();
            stmt.executeQuery("DROP TABLE [list A]");
            stmt.executeQuery(
                    "CREATE TABLE [list A]  (ID VARCHAR(255),First VARCHAR(255),Name VARCHAR(255),Last Name VARCHAR(255),EmailAddress VARCHAR(255),Tuition Paid VARCHAR(255),Gender VARCHAR(255),Nation of  Birth VARCHAR(255),Nation of Ctizen VARCHAR(255),AGE VARCHAR(255),Level VARCHAR(255),Major VARCHAR(255),Concentration VARCHAR(255), Minor VARCHAR(255), Double Major/Dual Degree VARCHAR(255)   ,Class  VARCHAR(255),Admit Term VARCHAR(255),   Catalog term VARCHAR(255),   Advisor    Term VARCHAR(255),GPA   VARCHAR(255),Term Attempt Hrs VARCHAR(255), Term passed Hrs VARCHAR(255),   Term Earned Hrs VARCHAR(255),Overall GPA    VARCHAR(255),Overall Attemp Hrs VARCHAR(255),   Overall Earned Hrs  VARCHAR(255),Overall GPA Hours  VARCHAR(255),Repeated Overall VARCHAR(255), Repeated Term VARCHAR(255),     Withdrawn Overall VARCHAR(255), Withdrawn Term VARCHAR(255),    Acad VARCHAR(255), Standing VARCHAR(255),Full/Part  VARCHAR(255),SAT_Verbal VARCHAR(255),SAT_MATH VARCHAR(255)");
            stmt.executeQuery(
                    "INSERT INTO [list A] (ID,First,Name,Last Name,EmailAddress,Tuition Paid,Gender,Nation of  Birth,Nation of Ctizen,AGE,Level,Major,Concentration,    Minor,  "
                            + "Double Major/Dual Degree ,Class  ,Admit Term,    Catalog term,   "
                            + "Advisor  Term ,GPA   ,Term Attempt Hrs,  Term passed Hrs,    "
                            + "Term Earned Hrs  ,Overall GPA    ,Overall Attemp Hrs,    Overall "
                            + "Earned Hrs   ,Overall GPA Hours  ,Repeated Overall,  Repeated Term,"
                            + " Withdrawn Overall,  Withdrawn Term, Acad, Standing  ,Full/Part  ,SAT_Verbal,"
                            + " SAT_MATH) VALUES('" + list.get(0) + "','" + list.get(1) + "','" + list.get(2)
                            + "','" + list.get(3) + "','" + list.get(4) + "','" + list.get(5) + "','" + list.get(6)
                            + "','" + list.get(7) + "','" + list.get(8) + "','" + list.get(9) + "','" + list.get(10)
                            + "','" + list.get(11) + "','" + list.get(12) + "','" + list.get(13) + "','"
                            + list.get(14) + "','" + list.get(15) + "','" + list.get(16) + "','" + list.get(17)
                            + "','" + list.get(18) + "','" + list.get(19) + "','" + list.get(20) + "','"
                            + list.get(21) + "','" + list.get(22) + "','" + list.get(23) + "','" + list.get(24)
                            + "','" + list.get(25) + "','" + list.get(26) + "','" + list.get(27) + "','"
                            + list.get(28) + "','" + list.get(29) + "','" + list.get(31) + "','" + list.get(32)
                            + "','" + list.get(33) + "','" + list.get(34) + "'");
        }
    }

    catch (Exception e) {
        e.printStackTrace();
    }
    return cellVectorHolder;
}

ошибка получена:

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc ::: 4.0.4 непредвиденныйтокен: [at net.ucanaccess.jdbc.UcanaccessStatement.executeQuery (UcanaccessStatement.java:218) в main.writetableA (main.java:492) в main.main (main.java:465), вызванный: java.sql.SQLSyntaxErrorException: неожиданный токен: [at org.hsqldb.jdbc.JDBCUtil.sqlException (неизвестный источник) в org.hsqldb.jdbc.JDBCUtil.sqlException (неизвестный источник) в org.hsqldb.jdbc.JDBCStatement.fetchResult (неизвестный источник в или). hsqldb.jdbc.JDBCStatement.executeQuery (Неизвестный источник) по адресу net.ucanaccess.jdbc.UcanaccessStatement.executeQuery (UcanaccessStatement.java:216) ... еще 2 Причины: org.hsqldb.HsqlException: неожиданный токен: [at org.hsqldb.error.Error.parseError (неизвестный источник) в org.hsqldb.ParserBase.unexpectedToken (неизвестный источник) в org.hsqldb.ParserBase.checkIsIdentifier (неизвестный источник) в org.h.compileDrop (неизвестный источник) по адресу org.hsqldb.ParserCommand.compilePart (неизвестный источник) по адресу org.hsqldb.ParserCommand.compileStatements (неизвестный источник) по адресу org.hsqldb.Session.executeDirectStatement (неизвестный источник) по адресу org.hession.lds. (Неизвестный источник) ... еще 5

...