public List<Object> findOneColumn(String sql, String tableId, Object[] params) {
    	List<Object> ret = new ArrayList<Object>();
    	Connection connection = AppDBContext.IS_MUST_READ_MASTER_MACHINE?AppDBContext.getWCon(tableId):AppDBContext.getRCon(tableId);
        if(connection == null ){
           return ret;
        }
    	PreparedStatement statement = null;
    	try {
    		statement = connection.prepareStatement(sql);
    		if (params != null && params.length != 0) {
    			int index = 1;
    			for (Object param : params) {
    				statement.setObject(index++, param);
    			}
    		}
    		ResultSet resultSet = statement.executeQuery();
    		while (resultSet.next()) {
    			ret.add(resultSet.getObject(1));
    		}
    	} catch (SQLException e) {
    		String msg = "sql=" +sql + ", params=" + Arrays.toString(params);
        	if (msg.length() > 2000) {
        		msg = msg.substring(0, 2000);
        	}
        	
    		log.error("error" + e.getMessage() + ", tableId=" + tableId + ", " + msg, e);
    	} finally {
    		DBUtil.closePs(statement);
    	}
    	return ret;
    }