简体   繁体   中英

Connect to my oracle 12c database with java in Eclipse

Can someone please tell my what is wrong with my code I am trying to connect to my oracle 12c database, once this is confirm I can start manipulating data.

Here my code:

package Testing2;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;

public class Table6 {

    public static void main(String[] args)throws SQLException {
        // TODO Auto-generated method stub

        try{
            Class.forName("oracle.jdbc.Driver.OracleDriver");
        }
        catch(java.lang.ClassNotFoundException e)
        {
            System.err.println("ClassNotFoundException:");
            System.err.println(e.getMessage());
        }

        Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:Orcl","hr","Victor");

        PreparedStatement statement = con.prepareStatement("select * from COUNTRIES WHERE COUNTRY_ID = 'AR'");

        ResultSet result = statement.executeQuery();

        while(result.next()){
            System.out.println("Current Date from Oracle : " + result.getString("current_day"));
        }
        System.out.println("done");
        System.out.println("done!");

    }

}

Here is my Stack Trace:

Exception in thread "main" java.sql.SQLException: Invalid column name
    at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3965)
    at oracle.jdbc.driver.InsensitiveScrollableResultSet.findColumn(InsensitiveScrollableResultSet.java:299)
    at oracle.jdbc.driver.GeneratedResultSet.getString(GeneratedResultSet.java:1460)
    at Testing2.Table6.main(Table6.java:32)

The hint is in your question. Exception in thread "main" java.sql.SQLException: Invalid column name

select * from COUNTRIES WHERE COUNTRY_ID = 'AR' - Try to run it from oracle client and see what you get

Along with making sure that the query statement was properly writen. I also had to ensure that the jdbc.jar was in the java build path library. Here is my code:

package Testing2;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;

public class Table6 {

    public static void main(String[] args)throws SQLException {
        // TODO Auto-generated method stub


        try{
         Class.forName("oracle.jdbc.OracleDriver");
            }
            catch(java.lang.ClassNotFoundException e)
            {
            System.err.println("ClassNotFoundException:");
            System.err.println(e.getMessage());
        }

        Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:Orcl","hr","Victor");


        PreparedStatement statement = con.prepareStatement("select COUNTRY_ID FROM COUNTRIES");

        ResultSet result = statement.executeQuery();

        while(result.next()){
            System.out.println("All Country Id's: " +         result.getString(1));
        }
        System.out.println("done");
        System.out.println("done!");

    }

}

Here is my output:

   All Country Id's: AR
    All Country Id's: AU
    All Country Id's: BE
    All Country Id's: BR
    All Country Id's: CA
    All Country Id's: CH
    All Country Id's: CN
    All Country Id's: DE
    All Country Id's: DK
    All Country Id's: EG
    All Country Id's: FR
    All Country Id's: IL
    All Country Id's: IN
    All Country Id's: IT
    All Country Id's: JP
    All Country Id's: KW
    All Country Id's: ML
    All Country Id's: MX
    All Country Id's: NG
    All Country Id's: NL
    All Country Id's: SG
    All Country Id's: UK
    All Country Id's: US
    All Country Id's: ZM
    All Country Id's: ZW
    done
    done!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM