2014-09-25 15 views
5

Qualcuno può darmi una mano? Ho una piccola applicazione di utilità che utilizza Jt400-6.7.jar per connettersi a un server AS400.JT400.jar Disabilita schermata di login

vedere il seguente codice di

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

Il codice sopra funziona, ma se il nome utente o la password è errata l'applicazione crea la seguente schermata di login. Succede quando viene eseguito DriverManager.getConnection().

Cant postare una foto ma sembra qualcosa di simile

Signon to the system   X 

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

     O Default User ID 
     O Save Password 

    OK   Cancel 

Qualcuno può dirmi come disattivare questa funzione ??

risposta

9

Un modo per disabilitare questa funzione è impostare la proprietà JVM, com.ibm.as400.access.AS400.guiAvailable = false.

Da una riga di comando java, si dovrebbe impostare questo usando java -Dcom.ibm.as400.access.AS400.guiAvailable = false ...

Ecco un esempio utilizzando il client JDBC inclusi nel 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 

il secondo modo per disattivare questa funzione è quello di utilizzare la struttura = richiesta di connessione falsa. Per esempio.

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

Ciao scusa per la risposta tardiva è stato un fine settimana sulla mia fine. Comunque sto chiamando il driver con il mio codice di esempio qui sopra. Sono li 'comunque per me per passare questi parametri usando il mio codice sopra. Scusa per la mia ignoranza ... –

+1

Basta aggiungere la riga ... url + = "; prompt = false"; ... before ... connection = DriverManager.getConnection – jweberhard

+0

Grazie che ha funzionato !!! –

1

Un altro metodo per impedire la richiesta della password della 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

Giusto per aggiungere, quando si chiama un programma RPG da Java, stesso Sign-on pop up arrives.You può spegnerlo impostando setGuiAvailable di com.ibm.as400.access.AS400 oggetto (false);

Problemi correlati