package TD;

import java.io.FileWriter;
import java.io.IOException;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;

import java.sql.SQLException;

public class ImportTest {
	public static void main(String[] args) {
		System.out.println("\nStarting main ImportTest... ");
		FileWriter fw = null;
		String outputFileName = "C:\\temp\\mdOutput.txt";
		try {
			fw = new FileWriter(outputFileName, false);
		} catch (IOException e) {
			System.out.println(e);
		}
		
		Connection conn = null;
		
		conn = connectDB();
		// Processing metadata
		try {
			DatabaseMetaData dmd = conn.getMetaData();
			System.out.println("\ngetDriverName = " + dmd.getDriverName());
			System.out.println("\ngetDriverVersion = " + dmd.getDriverVersion());
			System.out.println("\ngetDatabaseProductName = " + dmd.getDatabaseProductName());
			System.out.println("\ngetDatabaseProductVersion = " + dmd.getDatabaseProductVersion());
			
			ResultSet schemas = dmd.getSchemas();
			while (schemas.next()) {
				String schemaName = schemas.getString(1);
				String catName = schemas.getString(2);
				System.out.println("\ncatalog = " + catName + " schema = " + schemaName);
			}
		} catch (SQLException e) {
			System.out.println(e);
		}
		try {
			conn.close();
		} catch (SQLException e) {
			System.out.println(e);
		}

		try {
			fw.close();
		} catch (IOException ioe) {
			System.out.println(ioe);
		}

		System.out.println("\nEnding main ImportTest...");
	}
	
	public static Connection connectDB() {
		Connection tdCon = null;
		try {
			Class.forName("org.postgresql.Driver");
			String url = "jdbc:postgresql://cteds721.fyre.ibm.com:54172/dbcert";
			String userID = "dbcert1";
			String pw = "Cognos_1";
			tdCon = DriverManager.getConnection(url, userID, pw);
		} catch (SQLException eSQL) {
			System.out.println(eSQL);
		} catch (Exception eClassNotFound) {
			System.out.println(eClassNotFound);
		}
		return tdCon;
	}
}
