Jdbc JT400.jar禁用登录屏幕

Jdbc JT400.jar禁用登录屏幕,jdbc,jt400,Jdbc,Jt400,有人能帮我吗?我有一个小型实用程序应用程序,它使用Jt400-6.7.jar连接到AS400服务器 请参阅以下代码 private Connection buildConnection(String url, String userName, String password) throws ClassNotFoundException, SQLException { Connection connection = null; Class.

有人能帮我吗?我有一个小型实用程序应用程序,它使用Jt400-6.7.jar连接到AS400服务器

请参阅以下代码

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()时会发生这种情况

无法发布图片,但它看起来像这样

Signon to the system           X

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

       O Default User ID
       O Save Password

    OK            Cancel  

有人能告诉我如何禁用此功能吗?

禁用此功能的一种方法是设置JVM属性com.ibm.as400.access.as400.guiAvailable=false

在java命令行中,您可以使用java-Dcom.ibm.as400.access.as400.guiAvailable=false来设置它

下面是一个使用jt400.jar中包含的jdbc客户机的示例

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

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

另外,当从java调用RPG程序时,会出现相同的登录弹出窗口

您还可以在定义数据源时进行设置:

final AS400JDBCDataSource dataSourceISeries = new AS400JDBCDataSource();
dataSourceISeries.setDatabaseName(...);
dataSourceISeries.setUser(...);
...
dataSourceISeries.setPrompt(false);

嗨,很抱歉,迟来的回复是我这边的一个周末。无论如何,我用上面的示例代码给驱动程序打电话。无论如何,我都可以使用上面的代码传递这些参数。对不起,我的无知…只需添加一行。。。url+=“提示=false”。。。之前connection=DriverManager.getConnection