Orientdb не может открыть базу данных с Java

Я создал базу данных из консоли orientdb:

create database plocal:/C:/Development/orientdb/databases/testdb root root plocal graph

Я запустил сервер, чтобы убедиться, что моя база данных успешно создана. Я открыл веб-интерфейс:

localhost:2480

И я вошел в testdb, используя root в качестве пользователя и root в качестве пароля. Все работало нормально. Но когда я теперь хочу подключиться к своей базе данных из Java-кода:

    OrientGraph graph = null;

    try {
        graph = new OrientGraph("plocal:C:/Development/orientdb/databases/testdb", "root", "root");

        System.out.println("success");
    } catch(OException e) {
        System.out.println("no success - " + e.getMessage());

        e.printStackTrace();
    } finally {
        if(graph != null) {
            graph.shutdown();
        }
    }

Я получаю следующее исключение:

Exception in thread "main" com.orientechnologies.orient.core.exception.OSecurityAccessException: User or password not  valid for database: 'testdb'
at com.orientechnologies.orient.core.metadata.security.OSecurityShared.authenticate(OSecurityShared.java:150)
at com.orientechnologies.orient.core.metadata.security.OSecurityProxy.authenticate(OSecurityProxy.java:83)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.open(ODatabaseRecordAbstract.java:128)
at com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.open(ODatabaseWrapperAbstract.java:49)
at com.orientechnologies.orient.core.db.graph.OGraphDatabase.open(OGraphDatabase.java:92)
at de.hof.iisys.relationExtraction.freebase.tinkerpop.DAO.openGraph(DAO.java:30)
at de.hof.iisys.relationExtraction.freebase.main.Main.main(Main.java:44)

Почему он говорит мне, что имя пользователя или пароль неверны, когда это не так?


person Mulgard    schedule 06.04.2014    source источник


Ответы (1)


В команде «создать базу данных» из консоли пользователь и пароль используются только для аутентификации в удаленной базе данных. С URL-адресами «local», «local» и «memory» пользователь-администратор всегда «admin» с паролем «admin».

Так что используйте:

graph = new OrientGraph("plocal:C:/Development/orientdb/databases/testdb", "admin", "admin");

Начиная с OrientDB 1.7-SNAPSHOT консоль принимает только URL для таких случаев:

create database plocal:/C:/Development/orientdb/databases/testdb
person Lvca    schedule 06.04.2014