/*
 * Copyright (c) 1997-1999 Departamento de Informática - UFPE
 */

import java.net.URL;
import java.sql.*;
import oracle.jdbc.driver.*;

/**
 * Classe de teste de acesso a Banco de Dados atraves de JDBC utilizando
um drive nativo.
 */
class ConectaNAT {


    /**
     * M&eacute;todo de teste.
     */
    public static void main (String args[]) {

        String url   = "jdbc:oracle:thin:@<host name>:<porta>:<sid>";
                                     //Protocolo:Drive:LocalizacaoDoBD
			/* Na linha de comando acima, deve ser substituído as variaveis <host name>, <porta> e <sid> pelas 
			   configurações de seu servidor oracle */
			
        
        String query = "SELECT sysdate FROM dual"; // Query SQL

        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
                                                 //Carrega o drive Nativo

            Connection con = DriverManager.getConnection(url, "teste", "teste1");
	/* Sintaxe :DriverManager.getConnection(<caminho do host>, <usuario>, <password>*/
            DatabaseMetaData dma = con.getMetaData ();
            System.out.println("\nConnected to " + dma.getURL());
            System.out.println("Driver       " + dma.getDriverName());
            System.out.println("Version      " + dma.getDriverVersion());
            System.out.println("");

            Statement stmt = con.createStatement ();
                                            // Abre a coneccao com o BD

            ResultSet rs = stmt.executeQuery (query);  // Executa a query SQL

            //Imprime o resultado da query SQL
            while(rs.next()) {
                System.out.println(rs.getString(1));
            }

            rs.close();
            stmt.close();
            con.close();

        } catch (SQLException ex) {

            System.out.println ("\n*** SQLException caught ***\n");
            while (ex != null) {
                System.out.println ("SQLState: " + ex.getSQLState ());
                System.out.println ("Message:  " + ex.getMessage ());
                System.out.println ("Vendor:   " + ex.getErrorCode ());
                ex = ex.getNextException ();
                System.out.println ("");
            }

        } catch (java.lang.Exception ex) {
            ex.printStackTrace ();
        }

    }

}
