База данных H2 Определенная пользователем функция Java Класс не найден

Когда я создаю псевдоним для регистрации функции java в базе данных H2, он выдает ошибку класса не найден. Я запускаю базу данных h2 по TCP-соединению.

образец,

public class TimeFrame { 
    public static void main(String... args) throws Exception {
        Class.forName("org.h2.Driver");
        Connection conn = DriverManager.getConnection("jdbc:h2:tcp://MYIP:9092/~/test", "sa", "");
        Statement stat = conn.createStatement();

        //Setup Table
        stat.execute("DROP TABLE IF EXISTS timeframe");
        stat.execute("CREATE TABLE timeframe (last_updated TIMESTAMP, ip int");
        stat.execute("CREATE ALIAS IF NOT EXISTS SLIDEWINDOW FOR \"h2TimeFrame.TimeFrame.slidewindow\" ");
    }
}

Это все в названии пакета: h2TimeFrame. Тестировать,

возьмите образец класса «Функция» из пакета org.h2.samples. как бы вы запустили этот класс на сервере с TCP-соединением. Изменение

  Connection conn = DriverManager.getConnection("jdbc:h2:~/test", "sa", "");

to

  Connection conn = DriverManager.getConnection("jdbc:h2:tcp://IPADDRESS:9092/~/test", "sa", "");

person UserBSS1    schedule 19.09.2013    source источник
comment
Возьмите пример класса Function из пакета org.h2.samples. как бы вы запустили этот класс на сервере с TCP-соединением. Изменение соединения conn = DriverManager.getConnection(jdbc:h2:~/test, sa, ); to Connection conn = DriverManager.getConnection(jdbc:h2:tcp://IP-АДРЕС:9092/~/test, sa, );   -  person UserBSS1    schedule 23.09.2013


Ответы (1)


Убедись, что:

  • Класс public
  • Метод public и static
  • #P2# #P3# <блочная цитата> #P4#
person Java Devil    schedule 19.09.2013
comment
Да. в пути к классам механизма базы данных в этом случае означает, что он должен быть в пути к классам сервера (в процессе/JVM, где работает сервер базы данных) - person Thomas Mueller; 20.09.2013
comment
Может быть проще объявить, что определяемая пользователем функция определена как исходный код. Таким образом, он автоматически доступен на сервере. - person Thomas Mueller; 20.09.2013
comment
@javadevil, я убедился в трех вещах, которые вы упомянули, и они также есть в документации. Но, не работал. Для приведенного выше примера класса (TimeFrame), если я создам исполняемый jar-файл и включу его в путь к классам при запуске сервера (org.tools.server), должен ли он работать? как то не работает! я что-то пропустил здесь - person UserBSS1; 23.09.2013