private void printDBInfo(Connection conn) throws SQLException {
		DatabaseMetaData metaData = conn.getMetaData();

		System.out.println("\t=>>SchemaTerm:" + metaData.getSchemaTerm());

		System.out.println("Schemas:");

		ResultSet schemas = metaData.getSchemas();
		while (schemas.next()) {
			System.out.println("\t=>>" + schemas.getString("TABLE_SCHEM") + ", " + schemas.getString("TABLE_CATALOG"));
		}
		schemas.close();
		ResultSet tablesRS = metaData.getTables(null, null, "%", null);
		System.out.println("Tables:");
		Statement statement = conn.createStatement();
		while (tablesRS.next()) {
			String schemaTableIter = tablesRS.getString(2);
			String tableNameIter = tablesRS.getString(3);
			if(schemaTableIter.toLowerCase().contains("sys")){
				continue;
			}
			System.out.print("\t" + schemaTableIter + "." + tableNameIter+"(");
			ResultSet executeQuery = statement.executeQuery("SELECT * FROM "+schemaTableIter + "." + tableNameIter+" WHERE 1=2");
			ResultSetMetaData emptyTableMetaData = executeQuery.getMetaData();
			int columnCount = emptyTableMetaData.getColumnCount();
			for(int columNumber=1;columNumber<=columnCount;columNumber++) {
				if(columNumber>1){
					System.out.println(",");
				}else{
					System.out.println("");
				}
				int columnSize   = emptyTableMetaData.getPrecision(columNumber);
				int columnDD     = emptyTableMetaData.getScale(columNumber);
				int nullableFlag = emptyTableMetaData.isNullable(columNumber);
				boolean autoIncrementFlag = emptyTableMetaData.isAutoIncrement(columNumber);				
				
				System.out.print("\t\t" + emptyTableMetaData.getColumnName(columNumber)+ "  " + emptyTableMetaData.getColumnTypeName(columNumber));
				if(columnSize>0) {
					System.out.print(" ( " + columnSize);
					if(columnDD>0){
					
					}
					System.out.print(" )");
				}
				if(nullableFlag ==1) {
					System.out.print(" NULL");
				}
				if(autoIncrementFlag) {
					System.out.print(" AUTOINCREMENT");
				}
			}
			System.out.println();
			System.out.println("\t);");
			executeQuery.close();
			
			
			/*
			ResultSet resColumnsTable = metaData.getColumns(null, schemaTableIter, tableNameIter, null);
			for(int columnCounter = 0;resColumnsTable.next();columnCounter++) {
				if(columnCounter>0){
					System.out.println(",");
				}else{
					System.out.println("");
				}
				
				
				System.out.print("\t\t" + 
						resColumnsTable.getString("COLUMN_NAME")+ "  " + resColumnsTable.getString("TYPE_NAME"));
				
				int columnSize = resColumnsTable.getInt("COLUMN_SIZE");
				int columnDD   = resColumnsTable.getInt("DECIMAL_DIGITS");
				int nullableFlag = resColumnsTable.getInt("NULLABLE");
				boolean autoIncrementFlag = resColumnsTable.getString("IS_AUTOINCREMENT").equalsIgnoreCase("yes");
				
				if(columnSize>0) {
					System.out.print(" ( " + columnSize);
					if(columnDD>0){
					
					}
					System.out.print(" )");
				}
				if(nullableFlag ==1) {
					System.out.print(" NULL");
				}
				if(autoIncrementFlag) {
					System.out.print(" AUTOINCREMENT");
				}				
			}
			System.out.println();
			System.out.println("\t);");
			resColumnsTable.close();
			*/
		}
		tablesRS.close();

		System.out.println("=======================================");
	}