Lotus и db2 (jdbc)

Тема в разделе "Lotus + Java + LS2J", создана пользователем Gandliar, 9 сен 2011.

  1. Gandliar

    Gandliar Well-Known Member

    Регистрация:
    16 фев 2004
    Сообщения:
    222
    Симпатии:
    0
    Привет!

    Есть база данных на лотусе.

    в нее в Package Explorer в папку WebContent\WEB-INF\Lib\ положил jar файл c jdbc коннектором к db2

    затем сделал свой класс по работе с базой данных через этот коннектор

    в нем есть функция, которая вызывается из яваскрипта после создания класса.
    <!--shcode--><pre><code class='java'>public void connect(String connDB, String connUserName, String connPwd) throws Exception {
    // Подключение к базе данных
    try {
    Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
    conn = DriverManager.getConnection(connDB, connUserName, connPwd);
    }
    catch (SQLException ex) {
    // handle any errors
    System.out.println("SQLException: " + ex.getMessage());
    System.out.println("SQLState: " + ex.getSQLState());
    System.out.println("VendorError: " + ex.getErrorCode());
    throw new Exception(ex);
    }
    catch (Exception e) {
    System.out.println(e);
    throw new Exception(e);
    }
    }[/CODE]
    на локальной машине работает, на сервере не хочет, вываливается на
    <!--shcode--><pre><code class='java'>Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();[/CODE]
    причем не пишет в консоль, а пишет в еррор лог хмл на сервере кучу сообщений фактически не может вроде как создать класс.

    Если в domino/jvm/lib/ext продублировать jar драйвера, работает и на сервере после перезагрузки.
    Однако хотелось бы чтобы jar брался из базы данных.

    В чем может быть проблема?

    Заранее благодарю.
     
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    где это находится физически?

    Добавлено: в 7-ке просто добавлялись файлы в проект, через Edit Project
    так же предупреждаю, что секурити для нек. операций не позволяет использовать библы из базы, без правки файла секуритей, для жвм
    в конце статьи
    turumbay о подобном пишет
     
  3. Gandliar

    Gandliar Well-Known Member

    Регистрация:
    16 фев 2004
    Сообщения:
    222
    Симпатии:
    0

    Версия 8.5
    Физически в дизайнере открываем Window - OpenPerspective - Java

    слева видим базы в Package Explorer
    вот в базе там есть нужная папка

    туда можно положить jar файл и использовать его в java классах (создав свой клас, создав в базе package) а дальше класс использовать его в яваскриптах
    правда у меня не получилось отладить класс прямо в базе (валилась ошибка) может в этом где то есть проблема

    если создаю отдельный проект то его без проблем в дебаггере отлаживаю и работает все

    Коннект к внешней базе работает с использованием встроенного в базу jara конектора (в файловую систему ничего не ложил)
     
  4. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    не знаю, если "виртуальный каталог" генерится на-лету - одна ситуация, если при удачной сборке - другая, если нужен некий деплоймент по-месту - третья

    Добавлено: здесь кладут в ФС
     
  5. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    хотя ниже приписано, что с 8.5.1 работает из базы, а сервак какой версии?
     
  6. Gandliar

    Gandliar Well-Known Member

    Регистрация:
    16 фев 2004
    Сообщения:
    222
    Симпатии:
    0
    сервак 8.5.2

    Спасибо за мысль!

    Попробую принудительно прописать BuldPath на WebInf... и потестить на серваке. По результатам сообщу.
     
  7. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Если у тебя во время отладки не находит класов, то добавь те же JARы в "Bild path->Configure build path->Libraries->Add external JARs"
     
  8. Gandliar

    Gandliar Well-Known Member

    Регистрация:
    16 фев 2004
    Сообщения:
    222
    Симпатии:
    0
    Если сделать отдельный проект, в нем функцию main в которой уже вызывать экземпляр класса и выполнять другие действия, все нормально запускается в отладчике
    а если сделать Source Folder в базе, в нем класс, то отладчик вылетает с сообщением, что не может найти функцию main

    <!--shcode--><pre><code class='java'>package com.my;

    public class Test {
    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("privet");
    }
    }[/CODE]
    а в консоль пишет:
    как побороть?
     
  9. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    в 7-ке замечал, что нотусня не сразу подхватывает пакеджи (декларированные в коде)
     
Загрузка...

Поделиться этой страницей