/**
*
*通过thin方式与oracle进行连接
*@author Draco
*@date 2004-09-08
*@ver v1.0
*/
import java.util.*;
import java.sql.*;
import javax.sql.*;
import java.io.*;
//import oracle.jdbc.driver.*;
import javax.naming.*;
public class DbConnOracle {
final static String sDBDriver = "oracle.jdbc.driver.OracleDriver";
private String sConnStr = "";

/**构造缺省构造函数DbConnOracle()
*@192.168.0.254:服务器的IP地址
*@1521:数据库的端口号
*@jckz:数据库实例名称
*/
public DbConnOracle(){
sConnStr = "jdbc:oracle:thin:@192.168.0.254:1521:jckz";
}
public Connection connectedDb(){
Connection conn = null;
try{
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr,"system","manager");
}catch(Exception e){
System.out.println("Class not found the error is: " + e);
}
return conn;
}
public static void main(String[] args){
Connection con;
Statement stmt;
DbConnOracle dcss = new DbConnOracle();
con = dcss.connectedDb();

//测试是否连接成功
try {
/*
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet srs = stmt.executeQuery("select * from v$option");

srs.absolute(4);
int rowNum = srs.getRow(); // rowNum should be 4
System.out.println("你现在处于第 " + rowNum + "行");
String colume1 = srs.getString("PARAMETER");
String colume2 = srs.getString("VALUE");
System.out.println(colume1 + " " + colume2);*/
PreparedStatement pstmt = con.prepareStatement("select FP_MC " +
"from C_DM_FP");
ResultSet rs = pstmt.executeQuery();
int index = 0;
while (rs.next()){
System.out.println(index + ">>>>> " +rs.getString("FP_MC"));
       }

//关闭所有连接
//srs.close();
rs.close();
pstmt.close();
con.close();
}catch(Exception e){
System.out.println(e);
}

}
}

解决方案 »

  1.   

    确保oracle的jdbc驱动class12.zip在你的类路径中!
      

  2.   

    Thin和Oci两种方式,Oracle9.2,Jdk1.42上通过。
    import java.sql.*;public class OraSelect { public static void main (String args []) throws SQLException
    {
      try {
    Class.forName ("oracle.jdbc.driver.OracleDriver");
      } catch (ClassNotFoundException e) {
    e.printStackTrace();
      }   Connection conn = DriverManager.getConnection
    ("jdbc:oracle:thin:@localhost:1521:oracl", "system", "manager");
        //("jdbc:oracle:oci8:@pgx01", "system", "manager");
       // or oci7 @TNSNames_Entry,    userid,  password   Statement stmt = conn.createStatement();
      ResultSet rset = stmt.executeQuery("select BANNER from SYS.V_$VERSION");
      while (rset.next())
    System.out.println (rset.getString(1));   // Print col 1
      stmt.close();
    }}
      

  3.   

    有些时候不认classes12.zip,改成classes12.jar就可以了。
      

  4.   

    package com.terac.util;import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;public class DBTest {
    public static void main(String[] args) {
    try {
    String user = "user";
    String password = "password";
    String driver = "COM.ibm.db2.jdbc.net.DB2Driver";
    //"oracle.jdbc.driver.OracleDriver";
    //"com.mysql.jdbc.Driver";
    //"org.postgresql.Driver";
    String url = "jdbc:db2://localhost/a";
    //"jdbc:oracle:thin:@localhost:1521:a";
    //"jdbc:mysql://localhost/a";
    //"jdbc:postgresql://localhost:5740/a";
    String sql = "SELECT current timestamp FROM sysibm.sysdummy1";
    //"SELECT sysdate FROM dual";
    //"SELECT now()";
    //"SELECT current_timestamp";
    Class.forName(driver).newInstance();
    Connection c = DriverManager.getConnection(url, user, password);
    Statement stmt = c.createStatement();
    ResultSet rs = stmt.executeQuery(sql);
    while (rs.next()) {
    System.out.println(rs.getString(1));
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }