Can anyone help me out? I have small utility application that uses the Jt400-6.7.jar to connect to an AS400 server.
Please see the following code
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;
}
The code above works but if the the username or the password is wrong the application creates the following login screen. It happens when DriverManager.getConnection() is executed.
Cant post a picture but it looks something like this
Signon to the system X
System: AS400Server
User ID: User ID
Password: ********
O Default User ID
O Save Password
OK Cancel
Can anyone tell me how to disable this feature??
One way to disable this feature is to set the JVM property, com.ibm.as400.access.AS400.guiAvailable=false.
From a java command line, you would set this using java -Dcom.ibm.as400.access.AS400.guiAvailable=false ...
Here is an example using the jdbc client included in 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
The second way to disable this feature is to use the prompt=false connection property. For example.
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
Another method for preventing the GUI password prompt.
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);
Just to add, when calling a RPG program from java, same Sign-on pop up arrives.You can turn it off by setting com.ibm.as400.access.AS400 object's setGuiAvailable(false);