java中的Oracle连接(错误列名无效)

时间:2014-06-16 07:02:56

标签: java oracle connection

    public static void baglanti(){

    OracleDataSource ods;
    //String driverName = "oracle.jdbc.driver.OracleDriver";

    try {
        ods = new OracleDataSource();
        ods.setURL("jdbc:oracle:thin:@//aaaaaa:2122/XXXXX");
        ods.setUser("aaaa");
        ods.setPassword("aaaa");

        Connection conn=ods.getConnection();
        Statement st=conn.createStatement();
        ResultSet rs=st.executeQuery("SELECT DESCRIPTION FROM example");

        while (rs.next()) {
            //rs.getString("ID");
            System.out.println("DESC : "+rs.getString("1"));

        }   

    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }



}

我有一个错误我的连接java从oracle.user名称,密码是正确的但我无法连接到数据库。 感谢。

2 个答案:

答案 0 :(得分:2)

您使用getString的方式是错误的。 您可以传递索引或列标签:

System.out.println("DESC : "+rs.getString(1));

System.out.println("DESC : "+rs.getString("description"));

您将索引作为String传递,这是错误的。

答案 1 :(得分:0)

由于您说您遇到连接错误,请尝试以下连接部分代码:

OracleDataSource ds = new OracleDataSource();
ds.setDriverType("thin");
ds.setServerName("dssw2k01");
ds.setPortNumber(1521);
ds.setDatabaseName("orcl"); // sid
ds.setUser("scott");
ds.setPassword("tiger");

如果连接正确并且执行了查询,那么除非您将下面的内容更正为:

,否则解析结果集时会遇到问题。
System.out.println("DESC : "+rs.getString(1));

System.out.println("DESC : "+rs.getString("DESCRIPTION"));

rs.getString(),rs.getInt()等都有

  1. 索引为从<1>开始的整数参数

    1. 结果集输出的别名为字符串