Java如何访问SSL enabled DB2 Database

2023-04-27,

这篇文章给大家分享的是有关Java如何访问SSL enabled DB2 Database的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

 生成JAVA JKS证书文件,为JDBC准备,这里的密码是对文件进行加密的密码,自己可以随意设定的,这里设置为hell0man
这里不一定要在DB2 Server上生成证书文件,随便一个能运行Java的地方都可以
这里的mydbserver.arm是从DB2 Server上取下来的

$ keytool -import -trustcacerts -file "mydbserver.arm" -keystore "mynewdbclient.jks"

Sample Java code
===================================================================
public class SSLTest
{
public static void main (String[] args)
{
  String ServerName = "192.168.110.10";
  int PortNumber = 50001;
  String DatabaseName = "TEST";
  java.util.Properties properties = new java.util.Properties();
     
  properties.put("user", "db2inst1");  --> 访问数据库的用户名
  properties.put("password", "passw0rd"); --> 访问数据库的密码
  properties.put("sslConnection", "true");
  System.setProperty("javax.net.ssl.trustStore", "C:\\temp\\ssl_client\\mynewdbclient.jks");  
  System.setProperty("javax.net.ssl.trustStorePassword", "hell0man");

   
  String url = "jdbc:db2://" + ServerName + ":"+ PortNumber + "/" + DatabaseName+ ":traceFile=foobar.txt;traceLevel="+ 0xFFFFFFFF+ ";";
                 
  java.sql.Connection con = null;  
   try
   {
      Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
   }
   catch ( Exception e )
   {
      System.out.println("Error: failed to load Db2 jcc driver.");
   }
    
   try
   {
      System.out.println("url: " + url);
      con = java.sql.DriverManager.getConnection(url, properties);
      java.sql.Statement s2 = con.createStatement();
    
       try
       {
            s2.executeUpdate("drop table t1");
       }
       catch(Exception e)
       {
            System.out.println("drop is failing");
       }
        
       try
       {
            s2.executeUpdate ("create table t1 (c1 int)");
       }
       catch(Exception e)
       {
            System.out.println("create is failing");
       }
        
       String str = "insert into t1 values (100)";
       s2.executeUpdate(str);
        
       java.sql.PreparedStatement ps = con.prepareStatement ("select * from t1");
       java.sql.ResultSet rs = ps.executeQuery ();
        
       while(rs.next())
       {
            System.out.println(rs.getString(1));
       }
        
      con.close();
   }
   catch (Exception e)
   {
      e.printStackTrace();
   }
 }
}

感谢各位的阅读!关于“Java如何访问SSL enabled DB2 Database”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

《Java如何访问SSL enabled DB2 Database.doc》

下载本文的Word格式文档,以方便收藏与打印。