Java scheduled agent с использованием Sqljdbc4.jar

imendan

Green Team
22.09.2010
159
4
BIT
0
Здравствуйте, господа профессионалы! Обращаюсь к вам за помощью, ибо сам уже неделю "рою" интернет и ничего не могу найти.
Разработал Java агент (running on server) с использованием Sqljdbc4.jar и sqljdbc_auth.dll для подключения к MS SQL Server 2005. Когда агент запускаю из Designer через правую кнопку и Run, то агент работает без ошибок.
А вот по расписанию он не работает как положено. Вылетают ошибки: "java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key listen_not_allowed".
Вроде все настроил правильно. Файл sqljdbc_auth.dll скопировал в папку Domino и System32. Файл Sqljdbc4.jar скопировал в директорию ..\Domino\jvm\lib\ext.
Вот кусок кода (ошибка вылетает на последней строке "DriverManager.getConnection.."):
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException ex) {
throw new Exception("Driver not found");
}

String connectionUrl = "jdbc:sqlserver://122.122.122.122\\SQLSERVER;databaseName=BioStar;integratedSecurity=true";
con = DriverManager.getConnection(connectionUrl);
 
Can't find resource for bundle java.util.PropertyResourceBundle, key listen_not_allowed"
сообщение о том что нет проперти файла, где его ожидает этот странный драйвер - вопрос
возможно использовать драйвер версии 4.0, только скачать его с мелкомягких будет проблемой ( это драйвера уже нет)
а именно он поддерживается jvm 1.6
можно пошукать
использовать ссылку на (если это не очевидно ;) )
 
Последнее редактирование:
...использовать ссылку на (если это не очевидно ;) )
Пробовал. Та же ошибка выходит. Что еще можно сделать? Может есть какая-либо альтернатива? Как подключаться scheduled агентом к Sql server 2005 и тянуть оттуда данные?
 
Пока никто не слышит: а с какими правами агент? А подписант? А Сервер Domino сеть видит?
Я знаю, что все знают, что я знаю, что все знают.
 
в 2013 году подключался к MS SQL серверу с помощью jtds-1.2.5.jar драйвера (должен лежать в jvm\lib\ext\).

Код:
      Connection con = null;
      Statement st = null;
      ResultSet rs = null;

      DriverManager.registerDriver(new Driver());
      con = DriverManager.getConnection("jdbc:jtds:sqlserver://10.10.1.ххх:1433/Db", "user", "pass");
      if (con == null)
      {
        System.out.println("Не удалось подключиться: jdbc:jtds:sqlserver://10.10.1.ххх:1433/Db");
        System.exit(0);
      }
      st = con.createStatement();
     
      String stText = "select name from u..."
      rs = st.executeQuery(stText);
 
расширение LEI "*lsxlc" посмотри ... только оно для лотусного скрипта
 
Пробовал. Та же ошибка выходит. Что еще можно сделать? Может есть какая-либо альтернатива? Как подключаться scheduled агентом к Sql server 2005 и тянуть оттуда данные?
старый драйвер, я полагаю, удалили?
и еще есть виндяцкая трабла
On Windows systems, directory names longer than the 8.3 filename convention or folder names with spaces may cause problems with classpaths
решить это можно чеоез указание в нотес.ини JavaUserClasses=<directory1>;<directory2\jarfile>;<zipfile1>;...
помним - для никсов разделители ":"
 
java.policy
пермишеннов не хватает, я думаю, у нас возникало пока не прописали.
 
  • Нравится
Реакции: azzza и imendan
java.policy
пермишеннов не хватает, я думаю, у нас возникало пока не прописали.

Savl! Помогло! Поставил в Java.policy строчку "permission java.security.AllPermission;" и все заработало. Встречный вопрос. Можно ли как-нибудь локализовать разрешение только для одной jar-библиотеки?

А так всем огромное спасибо.
Кстати, jtds-1.2.5.jar тоже использовал и та же ошибка выходила, что и с основной jar-библиотекой. Permission все решает. Низкий поклон, товарищи программисты!
 
Встречный вопрос. Можно ли как-нибудь локализовать разрешение только для одной jar-библиотеки?
По-моему, там вплоть до конкретного класса и даже метода класса можно права назначать. Посмотрите в документации JDK - .
 
Ive recently discovered on a machine that doesnt have much memory on it that Ive got a memory leak. In analyizing the heap dump, the culprate is a java.util.io.DeleteOnExitHook class that contains a LinkedHashMapEntry class which ultimately contains the string /tmp/jar_cache#######.jar. After running over night, there are a couple million of them.

From what Im reading... this appears to be a JVM bug located in File.deleteOnExit, in which the JVM deletes the file, but the record is never purged from the hashmap. Im wondering, however, if anyone has run into the and has discovered a solution.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!