Я работаю над программой с базой данных .mdb от стороннего клиента. Все было хорошо, пока я не попытался обновить элементы в базе данных. Поле sortOrder неверно. Я пытался изменить его на общий с помощью MS Access, и мне не повезло. Сообщение, которое я получаю, когда выполняю запрос на обновление:
java.lang.IllegalArgumentException: Given index Index@150ab4ed[
name: (EXART) PrimaryKey
number: 2
isPrimaryKey: true
isForeignKey: false
data: IndexData@3c435123[
dataNumber: 2
pageNumber: 456
isBackingPrimaryKey: true
isUnique: true
ignoreNulls: false
columns: [
ReadOnlyColumnDescriptor@50fe837a[
column: Column@636e8cc[
name: (EXART) ARCodArt
type: 0xa (TEXT)
number: 0
length: 30
variableLength: true
compressedUnicode: true
textSortOrder: SortOrder[3082(0)]
]
flags: 1
]
]
initialized: false
pageCache: IndexPageCache@3a62c01e[
pages: (uninitialized)
]
]
] is not usable for indexed lookups due to unsupported collating sort order SortOrder[3082(0)] for text index
at com.healthmarketscience.jackcess.impl.IndexCursorImpl.createCursor(IndexCursorImpl.java:111)
at com.healthmarketscience.jackcess.CursorBuilder.toCursor(CursorBuilder.java:302)
at net.ucanaccess.commands.IndexSelector.getCursor(IndexSelector.java:150)
at net.ucanaccess.commands.CompositeCommand.persist(CompositeCommand.java:83)
at net.ucanaccess.jdbc.UcanaccessConnection.flushIO(UcanaccessConnection.java:268)
at net.ucanaccess.jdbc.UcanaccessConnection.commit(UcanaccessConnection.java:169)
at cultifortgestio.EntradaEixidaDades.Insercio(EntradaEixidaDades.java:76)
Как вы можете видеть, Access вообще не меняет sortOrder, я думаю, что он должен быть 1033, а он остается 3082. Есть ли способ это изменить? Как я уже сказал, изменение в Access и выполнение базы данных Compact and Repair не сработало для меня.