java连接操作Oracle出现的问题及解决方法
直接使用JDBC连接数据库,类文件如下:
import java.sql.*;
public class CreateTable{
? public static void main(String args[]){
??? Connection con = null;
??? try{
????? Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
????? System.out.println("JDBC driver loaded");
????? String url="jdbc:oracle:thin:@192.16.0.99:1521:jasv";?? //红色部分是Orale所在服务器的IP、端口及SID
??? //(可通过过??select???? *?? from?? v$instance; 来查看SID,其中instance_name就是SID)
????? String user="chen";
????? String password="Huajiang";
????? con= DriverManager.getConnection(url,user,password);
????? System.out.println("Database connection established");
?????
????? Statement stmt = con.createStatement();
????? String upd = "CREATE TABLE Author_CHJ (Author_ID char(10),Author_Name char(50))";
????? stmt.executeUpdate(upd);??????
????? System.out.println("Table - Author_CHJ created");
??? }catch(ClassNotFoundException cnfe){
????? System.out.println(cnfe);
??? }catch(SQLException e){
????? System.out.println("SQLExcepiton: "+ e);
??? }catch(Exception e){
????? System.out.println("An unknown error occurred while conneting to the database");
??? }finally{
????? try{
??????? if(con != null){
????????? con.close();
??????? }
????? }catch(SQLException sqle){
??????? System.out.println("Unable to close database connection.");
????? }
??? }
? }?
}?
用?javac编译成功,但用浏览器执行,出错 :java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver .由此可以推测是驱动程序找不到。可能是CLASSPATH配置不对、或C:\oracle\jdbc\lib缺少classes12.jar文件。首先要配置CLASSPATH------>我的电脑---->右键-----〉属性-----〉详细----〉环境变量
?CLASSPATH--把C:\oracle\jdbc\lib\classes12.jar;追加进去. 重新运行该程序即可。
如果出现The Network Adapter could not establish the connection?????????????异常,可能是服务器的IP指定错误,或防火墙在作怪。
注:本人机器上装的是Oracle客户端.