互联网服务

如何使用java连接DB2并对其进行操作?

使用Eclipse连接DB2v9.5,主要实现两个功能,1,发送查询语句。2,接受快照信息并保存到指定文件
网上很少见到介绍db2和java连接的具体代码,知道的朋友帮忙发一个吧!
参与7

6同行回答

sunyangnjsunyangnj技术经理苏宁金融研究院
I am glad that it helps! 回复  sunyangnj     按照你提供的加载驱动和执行sql的语句,已经顺利编出了符合自己要求的java!谢谢! ...lnqs 发表于 2013-11-18 11:35 显示全部
I am glad that it helps!
回复  sunyangnj


    按照你提供的加载驱动和执行sql的语句,已经顺利编出了符合自己要求的java!谢谢! ...
lnqs 发表于 2013-11-18 11:35

收起
金融其它 · 2013-11-18
浏览915
lnqslnqs其它TYUT
回复 2# sunyangnj     按照你提供的加载驱动和执行sql的语句,已经顺利编出了符合自己要求的java!谢谢!显示全部
回复 2# sunyangnj


    按照你提供的加载驱动和执行sql的语句,已经顺利编出了符合自己要求的java!谢谢!收起
互联网服务 · 2013-11-18
浏览899
jinlonglvjinlonglv数据库管理员IT
$ pwd$INSTANCE_DIRECTORY/sqllib/samples/java/jdbc$ ls  AdmCmdAutoCfg.java       DB2EvmonUOW.xsl        IlInfo.java                 &nbs...显示全部
$ pwd
$INSTANCE_DIRECTORY/sqllib/samples/java/jdbc
$ ls  
AdmCmdAutoCfg.java       DB2EvmonUOW.xsl        IlInfo.java                  SpServer.java        TbTrig.java
AdmCmdContacts.java      DB2LockReportHTML.xsl  ImplicitCasting.java         stack_functions.db2  TbUMQT.java
AdmCmdDescribe.java      DbAuth.java            JCCKerberosPlugin.java       TbAST.java           TbUnion.java
AdmCmdExport.java        DbConn.java            JCCKerberosPluginTest.java   TbCompress.java      TrustedContext.java
AdmCmdImport.java        DbInfo.java            JCCSimpleGSSContext.java     TbConstr.java        udfcat
AdmCmdOnlineBackup.java  DbMCon.java            JCCSimpleGSSCredential.java  TbCreate.java        UDFcli.java
AdmCmdQuiesce.java       DbNative.java          JCCSimpleGSSException.java   TbGenCol.java        UDFCreate.db2
AdmCmdUpdateCfg.java     DbRsHold.java          JCCSimpleGSSName.java        TbIdent.java         UDFDrop.db2
Applt.html               DbSeq.java             JCCSimpleGSSPlugin.java      TbInfo.java          udfjcat
Applt.java               DbUse.java             JCCSimpleGSSPluginTest.java  TbInTrig.java        UDFjcli.java
Arrays_Sqlpl.java        DropCGTT.db2           LargeRid.java                TbMerge.java         UDFjCreate.db2
Array_Stack.java         DtInfo.java            makefile                     TbMod.java           UDFjDrop.db2
bonus_calculate.db2      DtLob.java             README                       TbOnlineInx.java     UDFjsrv.java
Cgtt.java                DtUdt.java             ScalarFunctions.java         TbPriv.java          UDFsCreate.db2
CreateCGTT.db2           GeneratePayroll.java   SetIntegrity.java            TbRead.java          UDFsDrop.db2
CreateEmployee.java      GetDBCfgParams.java    spcat                        TbRowcompress.java   UDFsqlcl.java
db2evmonfmt.java         GetDBMCfgParams.java   SpClient.java                TbRunstats.java      UDFsqlsv.java
DB2EvmonLocking.xsl      GetLogs.java           SpCreate.db2                 TbSel.java           UDFsrv.java
DB2EvmonPkgCache.xsl     GetMessage.java        SpDrop.db2                   TbTemp.java          Util.java收起
2013-11-07
浏览951
sunyangnjsunyangnj技术经理苏宁金融研究院
从来不去 回复  sunyangnj     经常看51CTO吗?tianshizuoyi 发表于 2013-11-7 09:55 显示全部
从来不去
回复  sunyangnj


    经常看51CTO吗?
tianshizuoyi 发表于 2013-11-7 09:55

收起
金融其它 · 2013-11-07
浏览932
DB-TrendSetterDB-TrendSetter联盟成员数据库架构师公司
回复 2# sunyangnj     经常看51CTO吗?显示全部
回复 2# sunyangnj


    经常看51CTO吗?收起
电信运营商 · 2013-11-07
浏览917
sunyangnjsunyangnj技术经理苏宁金融研究院
请参考,根据需要修改 import java.lang.*; import java.sql.*; class GetDBMCfgParams {   public static void main(String argv[])   {           System.out.print("--------------------------------------------------")...显示全部
请参考,根据需要修改
import java.lang.*;
import java.sql.*;

class GetDBMCfgParams
{
  public static void main(String argv[])
  {    
  
    System.out.print("--------------------------------------------------");
    System.out.println("----------------------------------------");         
    System.out.print("THIS SAMPLE SHOWS HOW TO CALL THE UDF DBM_GET_CFG ");
    System.out.println("AND RETRIEVE DBM CONFIGURATION PARAMETERS.");
    System.out.print("--------------------------------------------------");    
    System.out.println("----------------------------------------");        
    Connection con = null;
    Statement stmt = null;
    ResultSet rs = null;

    if (argv.length < 1)
    {
      System.out.print("Missing input arguments. Enter one or");
      System.out.println(" more configuration parameter names.");
    }
    else
    {           
      try
      {
        // initialize DB2Driver and establish database connection.
        Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
        con = DriverManager.getConnection("jdbc:db2:SAMPLE");

        // create the SQL statement and execute.
        stmt = con.createStatement();
  
        String whereClause = "WHERE NAME IN (";
        
        for (int i = 0; i < argv.length; i++)
        {
          whereClause += "'" + argv[i].trim() + "',";
        }
        
        whereClause = whereClause.substring(0, whereClause.length()-1) + ")";
 
        String stmtText = "SELECT NAME, VALUE, DEFERRED_VALUE, DATATYPE " +
                          "FROM SYSIBMADM.DBMCFG " + 
                          whereClause;
                          
        System.out.println(stmtText);

        rs = stmt.executeQuery(stmtText);

        while (rs.next()) 
        {        
          String paramName = rs.getString("NAME").trim();
          String paramValue = rs.getString("VALUE");
          String paramDeferredValue = rs.getString("DEFERRED_VALUE");
          String paramType = rs.getString("DATATYPE").trim();
        
          paramValue = (paramValue == null) ? "" : paramValue.trim();
          paramDeferredValue = (paramDeferredValue == null) ? 
                                 "" : paramDeferredValue.trim();
          System.out.println();
          System.out.println("Parameter Name           = " + paramName);
          System.out.println("Parameter Value          = " + paramValue);
          System.out.print("Parameter Deferred Value = ");
          System.out.println(paramDeferredValue);
          System.out.println("Parameter Data Type      = " + paramType);
                        
          // cast parameter value to appropriate type if needed.
          if (paramType.equals("INTEGER")) 
          {
            int value = Integer.parseInt(paramValue);
          }
          else if (paramType.equals("BIGINT")) 
          {
            long value = Long.parseLong(paramValue);
          }
          else if (paramType.equals("DOUBLE"))
          {
            double value = Double.parseDouble(paramValue);
          }
          else if (paramType.startsWith("VARCHAR"))
          {
            String value = paramValue;
          }
        }
      }
      catch (Exception e)
      {
       JdbcException jdbcExc = new JdbcException(e);
       jdbcExc.handle();
      }      
      finally
      {
        try
        {
          // close the resultset
          rs.close();      

          // close the statement
          stmt.close();
    
          // close the connection
          con.close();   
        }
        catch (Exception x)
        { 
          System.out.print("n Unable to Rollback/Disconnect ");
          System.out.println("from 'sample' database"); 
        }
      }
    }
  } // main
} // GetDBMCfgParams

收起
金融其它 · 2013-11-06
浏览915

提问者

lnqs
其它TYUT

问题状态

  • 发布时间:2013-11-06
  • 关注会员:1 人
  • 问题浏览:5514
  • 最近回答:2013-11-18
  • X社区推广