Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7172199
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: Sybase

2014-02-03 23:05:27

    在编写Java应用时,我们使用jdbc访问数据库。SAP HANA数据库也支持jdbc访问。HANA提供了标准的JDBC类型4驱动,即纯java实现的驱动。因此,只需要在client端部署jar包即可。这篇文章中将结合java示例程序向大家介绍HANA jdbc驱动的基本使用方法。

 一、SAP HANA JDBC Driver
   HANA JDBC Driver的jar包名为ngdbc.jar。
   
   Driver Class:  com.sap.db.jdbc.Driver    
   JDBC URL:    jdbc:sap://192.168.0.199:30015?reconnect=true    

二、java程序示例

package net.db.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;

/**
 * JDBC Sample.
 *
 * @author wangbing
 * @version CVS $Revision$ $Date$
 */
public class JDBCDemoHANA {

  
 private static final String DRIVER = "com.sap.db.jdbc.Driver";  //jdbc 4.0
 private static final String URL = "jdbc:sap://192.168.0.199:30015?reconnect=true";

 public JDBCDemoHANA() {

 }

 
 public static void main(String[] args) {
  JDBCDemoHANA demo = new JDBCDemoHANA();
  try {
   demo.select();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 public void select() throws Exception {
  Connection con = this.getConnection(DRIVER, URL, "SYSTEM", "Lion12345");
  PreparedStatement pstmt = con.prepareStatement("select USER_ID,USER_NAME,USER_MODE from SYS.USERS");
  ResultSet rs = pstmt.executeQuery();
  this.processResult(rs);
  this.closeConnection(con, pstmt);

 }

 private void processResult(ResultSet rs) throws Exception {
  if (rs.next()) {
   ResultSetMetaData rsmd = rs.getMetaData();
   int colNum = rsmd.getColumnCount();
   for (int i = 1; i <= colNum; i++) {
    if (i == 1) {
     System.out.print(rsmd.getColumnName(i));
    } else {
     System.out.print("\t" + rsmd.getColumnName(i));
    }

   }
   System.out.print("\n");
   System.out.println("-----------------------");
   do {
    for (int i = 1; i <= colNum; i++) {
     if (i == 1) {
      System.out.print(rs.getString(i));
     } else {
      System.out.print("\t"
        + (rs.getString(i) == null ? "null" : rs
          .getString(i).trim()));
     }

    }
    System.out.print("\n");
   } while (rs.next());
  } else {
   System.out.println("query not result.");
  }

 }

 private Connection getConnection(String driver, String url, String user,
   String password) throws Exception {
  Class.forName(driver);
  return DriverManager.getConnection(url, user, password);

 }

 private void closeConnection(Connection con, Statement stmt)
   throws Exception {
  if (stmt != null) {
   stmt.close();
  }
  if (con != null) {
   con.close();
  }
 }

}

阅读(1572) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~