JT400.jar Disable Login Screen

2019-03-27 05:37发布

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??

标签: jdbc jt400
3条回答
冷血范
2楼-- · 2019-03-27 06:00

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);
查看更多
Summer. ? 凉城
3楼-- · 2019-03-27 06:02

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);

查看更多
淡お忘
4楼-- · 2019-03-27 06:04

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
查看更多
登录 后发表回答