在Eclipse中使用java连接到我的oracle 12c数据库

时间:2016-03-16 14:09:22

标签: java eclipse oracle

有人可以告诉我我的代码有什么问题我试图连接到我的oracle 12c数据库,一旦确认我可以开始操作数据。

这是我的代码:

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!");

    }

}

这是我的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)

2 个答案:

答案 0 :(得分:2)

提示在您的问题中。 线程“main”java.sql.SQLException中的异常:列名无效

从COUNTRIES中选择* WHERE COUNTRY_ID ='AR' - 尝试从oracle客户端运行它,看看你得到了什么

答案 1 :(得分:0)

同时确保查询语句正确写入。我还必须确保jdbc.jar位于java构建路径库中。 这是我的代码:

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!");

    }

}

这是我的输出:

   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!