2014-09-25 6 views
5

Kann mir jemand helfen? Ich habe kleine Dienstprogrammanwendung, die die Jt400-6.7.jar verwendet, um eine Verbindung zu einem AS400-Server herzustellen.JT400.jar Deaktivieren Sie den Anmeldebildschirm

entnehmen Sie bitte den folgenden 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; 
    } 

Der obige Code funktioniert, aber wenn das der Benutzername oder das Passwort falsch ist die Anwendung erstellt den folgenden Login-Bildschirm. Es passiert, wenn DriverManager.getConnection() ausgeführt wird.

Cant ein Bild posten, aber es sieht so etwas wie dieses

Signon to the system   X 

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

     O Default User ID 
     O Save Password 

    OK   Cancel 

jemand kann mir sagen, wie diese Funktion deaktivieren ??

Antwort

9

Eine Möglichkeit, diese Funktion zu deaktivieren, besteht darin, die JVM-Eigenschaft com.ibm.as400.access.AS400.guiAvailable = false festzulegen.

aus einer Java-Befehlszeile, würden Sie diese mit Java gesetzt -Dcom.ibm.as400.access.AS400.guiAvailable = false ...

Hier ist ein Beispiel der JDBC-Client enthalten in jt400.jar mit

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 

Die zweite Möglichkeit, diese Funktion zu deaktivieren, besteht darin, die Eigenschaft prompt = false connection zu verwenden. Beispielsweise.

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

Hallo Entschuldigung für die späte Antwort war ein Wochenende an meinem Ende. Jedenfalls rufe ich den Treiber mit meinem obigen Beispielcode an. Ich habe trotzdem die Möglichkeit, diese Parameter mit meinem obigen Code zu übergeben. Sorry für meine Ignoranz ... –

+1

Fügen Sie einfach die Zeile ... url + = "; prompt = false"; ... vorher ... connection = DriverManager.getConnection – jweberhard

+0

Danke das hat funktioniert !!! –

1

Eine weitere Methode, um die Eingabeaufforderung für das GUI-Kennwort zu verhindern.

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

nur hinzufügen, wenn ein RPG-Programm von Java, gleichen Sign-on pop up arrives.You aufrufen kann, indem com.ibm.as400.access.AS400 Objekt setGuiAvailable (false) ausschalten;