Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как подключиться к Cache с помощью java Extreme? Ошибка no lcbjni in java.library.path / 10 сообщений из 10, страница 1 из 1
17.07.2014, 14:47
    #38699165
TryCache
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подключиться к Cache с помощью java Extreme? Ошибка no lcbjni in java.library.path
Здравствуйте. Как подключиться к Cache 2014.1 (Win 8.1 x64) с использованием технологии Java Extreme? Работаю под Intellij Idea 13.1 под JDK 1.7.
Я попробовал пример на c# , который заработал для версии 4 (а не 2.0 как в статье). Классы вроде все те же, но получаю исключение

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lcbjni in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886)
	at java.lang.Runtime.loadLibrary0(Runtime.java:849)
	at java.lang.System.loadLibrary(System.java:1088)
	at com.intersys.internal.lcbjni.LCBJNINonThreadDatabaseConnection.<clinit>(LCBJNINonThreadDatabaseConnection.java:55)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:190)
	at com.intersys.globals.internal.NonThreadSpecificSession.setSessionType(NonThreadSpecificSession.java:93)
	at com.intersys.globals.internal.NonThreadSpecificSession.<clinit>(NonThreadSpecificSession.java:112)
	at com.intersys.globals.internal.GlobalsConnectionJNI.<init>(GlobalsConnectionJNI.java:43)
	at com.intersys.globals.ConnectionContext.getConnection(ConnectionContext.java:104)
	at Starter.Connect(Starter.java:27)
	at Starter.main(Starter.java:11)

Вот код:import com.intersys.globals.*;

public class Starter {
    public static void main(String[] args) {
        Log("Starting...");
        try
        {
            Connection myConn1 = Connect();
            Disconnect(myConn1);
        }
        catch (Exception e)
        {
            Log("Error: " + e.getMessage());
        }
    }

    private static void Log(Object obj){
        System.out.println(obj);
    }

    private static Connection Connect()
    {
        Connection myConn = ConnectionContext.getConnection();
        if (!myConn.isConnected())
        {
            Log("Подключение к БД");
            myConn.connect("User", "_SYSTEM", "ЕYS");
        }

        if (myConn.isConnected())
        {
            Log("Подключение к БД выполнено успешно");
            return myConn;
        }
        else { return null; }
    }

    static void Disconnect(Connection myConn)
    {
        if (myConn.isConnected())
            myConn.close();
    }
}

Что я не подключил/не настроил?
...
Рейтинг: 0 / 0
17.07.2014, 15:16
    #38699230
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подключиться к Cache с помощью java Extreme? Ошибка no lcbjni in java.library.path
TryCacheЧто я не подключил/не настроил?Проверьте GLOBALS_HOME, PATH и CLASSPATH.

Было: 16210199 ( Installation and Configuration )

PS: Instalace a nastavení prostředí (на чешском)
...
Рейтинг: 0 / 0
17.07.2014, 15:43
    #38699281
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подключиться к Cache с помощью java Extreme? Ошибка no lcbjni in java.library.path
TryCacheКлассы вроде все те же, но получаю исключение

Код: plaintext
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lcbjni in java.library.path
Конкретно эта ошибка возникает, если не прописан путь к %CACHE_HOME%\Bin в PATH.
...
Рейтинг: 0 / 0
17.07.2014, 16:04
    #38699330
TryCache
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подключиться к Cache с помощью java Extreme? Ошибка no lcbjni in java.library.path
servitTryCacheКлассы вроде все те же, но получаю исключение

Код: plaintext
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lcbjni in java.library.path
Конкретно эта ошибка возникает, если не прописан путь к %CACHE_HOME%\Bin в PATH.
Спасибо, помогло.
P.S. Вы можете объяснить, почему в c# это работало без переменной PATH, а в java оно понадобилось?
...
Рейтинг: 0 / 0
17.07.2014, 17:42
    #38699505
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подключиться к Cache с помощью java Extreme? Ошибка no lcbjni in java.library.path
TryCacheВы можете объяснить, почему в c# это работало без переменной PATH, а в java оно понадобилось?Потому что драйвер для .NET имеет некоторый элемент ИИ, в отличие от драйвера для Java, что может говорить о возможно разных разработчиках, их писавших.
Первый ищет нужные файлы (*dotnet*.dll) сперва в каталоге %GLOBALS_HOME%\ Bin , и если там не находит его - например, мы его переименовали в _Bin1 - то выдаёт ошибку:

Код: plaintext
System.DllNotFoundException: Не удается загрузить DLL "mdsdotnet.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)

Если же правильный полный путь ( C:\InterSystems\Cache\_Bin1 ) прописан в PATH, то никаких проблем с нахождением файлов нет - всё работает без ошибок.

PS: поэтому лучше следовать документации и прописывать все переменные окружения, даже если "всё и так работает".
...
Рейтинг: 0 / 0
17.07.2014, 22:57
    #38699749
TryCache
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подключиться к Cache с помощью java Extreme? Ошибка no lcbjni in java.library.path
servit, а как мне быть в такой ситуации:
Cache установлена на хосте server (Windows), а разработку я веду на Mac OS. Не подскажете, что почитать, чтобы настроить систему? Я же не могу задать те же переменные окружения на другой машине?
...
Рейтинг: 0 / 0
18.07.2014, 09:23
    #38699944
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подключиться к Cache с помощью java Extreme? Ошибка no lcbjni in java.library.path
TryCacheservit, а как мне быть в такой ситуации: <...>Использовать XEP TCP/IP, так как XEP JNI в данном случае не подходит.TryCacheНе подскажете, что почитать, чтобы настроить систему?Ссылка на документацию была дана выше. Ещё можете почитайте здесь .
...
Рейтинг: 0 / 0
18.07.2014, 09:24
    #38699946
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подключиться к Cache с помощью java Extreme? Ошибка no lcbjni in java.library.path
TryCacheservit, а как мне быть в такой ситуации:
Cache установлена на хосте server (Windows), а разработку я веду на Mac OS. Не подскажете, что почитать, чтобы настроить систему? Я же не могу задать те же переменные окружения на другой машине?А почему не можете ?
Далее когда вы будете ставить ваше приложение пользователям, оно тоже должно стоять по всем правилам, чтобы все переменные окружения были верны
TryCacheа разработку я веду на Mac OSможете подсказать как вы ведете разработку на маке с Cache? или вы там на Cache не программируете, только Java ?
...
Рейтинг: 0 / 0
18.07.2014, 10:23
    #38700027
TryCache
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подключиться к Cache с помощью java Extreme? Ошибка no lcbjni in java.library.path
servit: ok

DAiMor:
да, только java. я пока только разбираюсь с Cache и изучаю API. Как я понимаю, если писать скрипты, то нужна Windows.
...
Рейтинг: 0 / 0
18.07.2014, 10:27
    #38700029
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подключиться к Cache с помощью java Extreme? Ошибка no lcbjni in java.library.path
TryCacheservit: ok

DAiMor:
да, только java. я пока только разбираюсь с Cache и изучаю API. Как я понимаю, если писать скрипты, то нужна Windows.Да чтобы писать именно на Caché, желательно на Windows.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как подключиться к Cache с помощью java Extreme? Ошибка no lcbjni in java.library.path / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]