У меня проблемы с моей программой Java. Я использую MS Access как базу данных и UCanAccess для подключения к базе данных.UCanAccessSQLException: ограничение ограничений
Когда я пытаюсь вставить текст в базу данных, я получаю исключение:
net.ucanaccess.jdbc.UcanaccessSQLException: integrity constraint violation: unique constraint or index violation; ENTRIES_PRIMARYKEY table: ENTRIES
Это SQL заявление, что приводит к исключению:
"INSERT INTO Entries (Text, Title, Date, Time) VALUES"
+ "(\"" + text + "\", \"" + title + "\", \"" + date + "\", \"" + time + "\");";
Первичного ключи таблицы Записи - это (Название, Дата). Информация, которую я вставляю, не существует в таблице.
Я создал файл System.out.println(), содержащий ту же строку, чтобы убедиться, что переменные содержат правильную информацию, и они это делают.
Может ли кто-нибудь сказать мне, что я делаю неправильно?
Я не могу воссоздать вашу проблему, как указано. Запустите 'console.bat' или' console.sh' (в зависимости от ситуации) из папки, содержащей файл JAR UCanAccess. При появлении запроса введите полный путь к базе данных Access. Проверьте раздел «Загруженные индексы:» на выходе и убедитесь, что вы видите «Первичный ключ в столбцах ENTRIES: (TITLE, DATE)». –
Он просто говорит: «Данный файл не существует». Я не понимаю, я даже скопировал/вставил каталог и убедился, что имя файла верное. Я даже смотрю на файл - он прямо там! –
Вы включаете расширение файла .accdb или .mdb, в зависимости от ситуации? Если вы работаете на машине, отличной от Windows, вы уверены, что полный путь, имя файла и расширение соответствуют точно (с учетом регистра)? –