2014-09-25 7 views
5

Может ли кто-нибудь помочь мне? У меня есть небольшое служебное приложение, которое использует Jt400-6.7.jar для подключения к серверу AS400.JT400.jar Отключить окно входа в систему

Пожалуйста, смотрите следующий код

private Connection buildConnection(String url, String userName, String password) throws ClassNotFoundException, 
      SQLException { 
     Connection connection = null; 

     Class.forName("com.ibm.as400.access.AS400JDBCDriver"); 

     DriverManager.setLoginTimeout(10000); 

     //OVER HERE!!! 
     connection = DriverManager.getConnection(url, userName, password); 

     return connection; 
    } 

Код выше работ, но если имя пользователя или пароль неправильно приложение создает следующий экран входа в систему. Это происходит, когда выполняется DriverManager.getConnection().

Cant разместить снимок, но это выглядит примерно так

Signon to the system   X 

System:   AS400Server 
User ID:  User ID 
Password:  ******** 

     O Default User ID 
     O Save Password 

    OK   Cancel 

Может кто-нибудь сказать мне, как отключить эту функцию ??

ответ

9

Один из способов отключения этой функции - установить свойство JVM, com.ibm.as400.access.AS400.guiAvailable = false.

Из командной строки Java, вы должны установить это с помощью Java -Dcom.ibm.as400.access.AS400.guiAvailable = ложного ...

Вот пример использования JDBC-клиента, включенный в jt400.jar

C:\>java -cp jt400.jar -Dcom.ibm.as400.access.AS400.guiAvailable=false com.ibm.as400.access.jdbcClient.Main jdbc:as400:/SYSTEM 
Warning: Unable to connect to jdbc:as400:/SYSTEM using null 
CON is not defined 

Второй способ отключить эту функцию - использовать свойство prompt = false connection. Например.

C:\jtopen_build\dist6>java -cp jt400.jar com.ibm.as400.access.jdbcClient.Main jdbc:as400:/SYSTEM;prompt=false 
Warning: Unable to connect to jdbc:as400:/SYSTEM;prompt=false using null 
CON is not defined 
+0

Жаль, что поздний ответ был уикэндом на моем конце. В любом случае, я вызываю драйвер с моим примером кода выше. Я все равно передаю эти параметры, используя мой код выше. Извините за мое невежество ... –

+1

Просто добавьте строку ... url + = "; prompt = false"; ... до ... connection = DriverManager.getConnection – jweberhard

+0

Спасибо, что сработал !!! –

1

Другой способ предотвращения запроса пароля GUI.

AS400.setPasswordExpirationWarningDays(-1); 
Properties properties = new Properties(); 
properties.put("extended metadata", "true"); 
properties.put("user", userProfile); 
properties.put("password", password); 
properties.put("driver", "native"); 
properties.put("prompt", "false"); 
DriverManager.registerDriver(new com.ibm.as400.access.AS400JDBCDriver()); 
Connection connection = DriverManager.getConnection("jdbc:as400://somedomain.com", properties); 
1

Просто добавить, при вызове программы RPG от Явы, так же входа на всплывающих arrives.You можно выключить, установив setGuiAvailable com.ibm.as400.access.AS400 объекта (ложь);

Смежные вопросы