ITCMCollBase.java 2.01 KB
package com.sitech.ismp.coll.tivoli;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ResourceBundle;



public class ITCMCollBase {

	/**
	 * 
	 * 获取特定主机的 某个指标的数据
	 * 
	 * 该指标必定属于某台主机, 在itcm中体现为某个表的某个字段
	 * 
	 * @param COMPUTER_SYS_ID
	 * @param TME_OBJECT_ID
	 * @param table_name
	 * @param column
	 * @return
	 */
	public static String get(String COMPUTER_SYS_ID,String TME_OBJECT_ID, String table_name , String column)throws Exception{
		
		String sql = "select "+column+" "+
						" from "+table_name+
						" where COMPUTER_SYS_ID='"+COMPUTER_SYS_ID+"'"+
						"            and TME_OBJECT_ID='"+TME_OBJECT_ID+"'";
		
		return getData(sql);

	}
	
	/*
	 * 根据sql语句获取第一行, 第一个字段的值
	 * 
	 * 如果没有数据,返回null
	 * 
	 */
	private static String getData(String sql) throws Exception{
		
		Connection itcmCon = getConnection();
		Statement stat = itcmCon.createStatement();
		ResultSet rs = stat.executeQuery(sql);
		
		String result = null;
		if(rs.next()){
			result = rs.getString(1);
		}
		return result;
	}
	
	/**
	 * 获取itcm数据库的连接
	 * @return
	 */
	private static Connection getConnection() throws Exception{
		

		String sUserName="";
		String sPassword="";
	    String sUrl="";
	    String sClassforName=""; 
	    
		try{
			ResourceBundle LogfileInfo =   ResourceBundle.getBundle("ITCMLoginInfo");
			
			sClassforName  = LogfileInfo.getString("ClassforName");
			sUrl           = LogfileInfo.getString("url");
			sUserName      = LogfileInfo.getString("sqluser");
			sPassword      = LogfileInfo.getString("sqlpassword");
		} catch (Exception e) {
            e.printStackTrace();
		}  		
		
		Class.forName(sClassforName).newInstance();
		return  DriverManager.getConnection(sUrl,sUserName,sPassword);		
		
	}
	
	public static void main(String[] args) throws Exception{
		System.out.println(ITCMCollBase.get(null,null,null,null));
	}
}