Вставка в спящий режим в базу данных Oracle, неожиданный токен: ЦЕННОСТИ - PullRequest
0 голосов
/ 04 апреля 2011

Я пытаюсь создать запрос на вставку в мою базу данных Oracle 10g.Он продолжает выдавать мне эту ошибку:

PARSER ERROR: 33 - строка 1: 115: неожиданный токен: VALUES

это мой метод DAO для вставки

public void uploadFile(String createUser, Integer id, byte[] file, String name, String size, String mime) {

    Session session = getSessionFactory().openSession();
    try {
       Query up = session.createSQLQuery("INSERT INTO FILES(CREATE_DATE, CREATE_USER, FILE_DATA, FILE_ID, FILE_MIME, FILE_NAME, FILE_SIZE, ID) VALUES(SYSDATE, :createUser, :file, FILE_ID_SEQ.nextval, :mime, :name, :size, :id) ");

        up.setInteger("id", id);
        up.setBinary("file", file);
        up.setString("name", name);
        up.setString("size", size);
        up.setString("mime", mime);
        up.setString("createUser", createUser);

        up.executeUpdate();

    } catch(HibernateException e) {
        throw new HibernateException(e);
    } finally {
        session.close();
    }
}

Ответы [ 2 ]

1 голос
/ 28 апреля 2011

Поддерживается только форма INSERT INTO ... SELECT ...;не ВСТАВКА В ... ЦЕННОСТИ ... форму.

Ссылка на ядро, глава 13.

Упс, простите, это просто sql, я ничего не говорю.

0 голосов
/ 04 апреля 2011

Проверьте список столбцов, вы пропустили размер:

FILES(CREATE_DATE, CREATE_USER, FILE_DATA, FILE_ID,             FILE_MIME, FILE_NAME, ID) 
VALUES(SYSDATE,    :createUser, :file,     FILE_ID_SEQ.nextval, :mime,     :name,     :size, :id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...