Я использую OrientDB во встроенной ситуации на Java. Я создаю базу данных и классы в своем приложении и вставляю данные. Когда я перехожу к просмотру данных через консоль, я вижу классы в базе данных вместе с правильным количеством строк в классах. Однако, когда я пытаюсь просмотреть данные в классе с помощью этой команды browse class testData
, я получаю следующую ошибку
Error: com.orientechnologies.orient.core.exception.OSerializationException: Found invalid % character. Ensure it is opened and closed correctly.
Я просмотрел свои исходные данные, и они не содержат %
. Я знаю, что OrientDB чувствителен к пробелам, особенно вокруг таких символов, как )
, но опять же в данных, которые у меня есть, не используется символ, для которого, похоже, произошла ошибка.
Кто-нибудь сталкивался с такой ошибкой? Любые идеи о том, как решить ошибку?
Код для создания базы данных
private void createNewOrientDatabase(){
String dbPath = "plocal:./db/test";
orientDatabase = new ODatabaseDocumentTx(dbPath).create();
}
Код для создания классов
public void createClasses(Table t){
if(orientDatabase.getMetadata().getSchema().getClass(t.getName()) == null) {
orientDatabase.getMetadata().getSchema().createClass(t.getName());
}
}
Код для вставки данных
public void insertData(Table table, TableSource data){
for (String s : data){
ODocument document = new ODocument(table.getName());
String[] parts = s.split(",");
for(int i = 0; i < table.getColumns().size(); ++i){
document.field(table.getColumns().get(i).getName(),parts[i]);
}
document.save();
}
}
Существует несколько классов, но для заданного класса данные могут выглядеть примерно так 43840,533,1,1,3,4
просто для того, чтобы дать вам представление о том, как выглядят данные.
Как всегда, заранее спасибо за любую помощь!