Установить часовой пояс в сеансе MYSQL - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь использовать следующий оператор «Выбрать», чтобы установить часовой пояс сеанса перед выбором из таблицы. Приведенный ниже код дает мне следующее исключение при выполнении:

"У вас есть ошибка в вашем синтаксисе SQL; проверьте правильность синтаксиса в руководстве, соответствующем вашей версии сервера MySQL, для использования рядом с« Выбрать IsActive, HID в качестве EmpNum, NameFirst, NameLast, FROM_UNIXTIME (timeIn) в качестве Ti »в линия 1 "

Вот оператор Select в контексте:

private static List<EventLog> getTimeIPEventLog(String date) throws ClassNotFoundException, SQLException, IllegalAccessException, InstantiationException {
    final String sql =
            "SET time_zone='UTC'; Select IsActive, HID as EmpNum, NameFirst, NameLast, FROM_UNIXTIME(timeIn) as TimeIn, FROM_UNIXTIME(timeOut) as TimeOut, @@session.time_zone TimeZone, @@global.time_zone\n" +
                    "from eventLog el\n" +
                    "join users u\n" +
                    "on (u.usersID = el.usersID)\n" +
                    "where Date(FROM_UNIXTIME(timeIn)) = '" + date + "'\n" +
                    "order by timeIn desc";

    String url = MainApp.HRMSApplicationProperties.getProperty("timeIPJDBCString") + "?user=" + MainApp.timeIPCredentials.getKey() + "&password=" + MainApp.timeIPCredentials.getValue();
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    Connection connection = DriverManager.getConnection(url + "&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC");

    Statement statement = connection.createStatement();
    ResultSet resultSet = statement.executeQuery(sql);
    List<EventLog> list = FXCollections.observableList(new ArrayList<>(0));
    while (resultSet.next()) {
        list.add(new EventLog(resultSet.getString("EmpNum"), resultSet.getString("NameFirst"), resultSet.getString("NameLast"), resultSet.getTimestamp("TimeIn"), resultSet.getTimestamp("TimeOut"), resultSet.getString("TimeZone")));
    }
    return list;
}

Я ценю вашу помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...