Java如何访问SSL enabled DB2 Database
这篇文章给大家分享的是有关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”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341