java要连接oracle10g,请问应该如何设置环境变量,急!!!![己解决]

软件和网站开发以及相关技术探讨
回复
头像
vincent_zh
帖子: 129
注册时间: 2008-04-05 10:56
来自: 学校

java要连接oracle10g,请问应该如何设置环境变量,急!!!![己解决]

#1

帖子 vincent_zh » 2008-04-23 16:41

本人是一学生,现在要做一课程设计,要用java连接oracle数据库,不知如何设置环境变量才好,请高手指点,我的系统是8.04版的ubuntu。现在时间有点紧,我实在是不想回XP做课程设计啊,急待高手指点,不胜感激!!!

java要连接oracle10g,请问应该如何设置环境变量,急!!!!
上次由 vincent_zh 在 2008-04-23 22:21,总共编辑 1 次。
修己,安人
头像
bird
帖子: 765
注册时间: 2006-09-04 10:45
联系:

#2

帖子 bird » 2008-04-23 16:51

联数据库需要环境变量吗?
头像
vincent_zh
帖子: 129
注册时间: 2008-04-05 10:56
来自: 学校

#3

帖子 vincent_zh » 2008-04-23 17:18

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/


import java.sql.*;
import java.io.*;
import java.util.*;
/**
*
* @author vincent
*/
public class Test {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
ResultSet newrs;
Test newjdbc = new Test();
newrs = newjdbc.executeQuery("SELECT * FROM passenger");
try {
while (newrs.next()) {
System.out.print(newrs.getString("id"));
System.out.println(":"+newrs.getString("lphone"));
}
} catch (Exception e) {
e.printStackTrace();
}

newjdbc.close();
}


//dbUrl数据库连接串信息,其中“1521”为端口,“ora9”为sid
String dbUrl = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
//theUser为数据库用户名
String theUser = "visitor";
//thePw为数据库密码
String thePw = "visitor";
//几个数据库变量
Connection c = null;
Statement conn;
ResultSet rs = null;

//初始化连接
public Test() {
try {
//DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Class.forName("oracle.jdbc.oracle.OracleDriver").newInstance();
//与url指定的数据源建立连接
c = DriverManager.getConnection(dbUrl, theUser, thePw);
//采用Statement进行查询
conn = c.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}

//执行查询
public ResultSet executeQuery(String sql) {
rs = null;
try {
rs = conn.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}

public void close() {
try {
conn.close();
c.close();
} catch (Exception e) {
e.printStackTrace();
}
}

}


上面是我的文件Test.java的内容,运行如下命令有如下提示,请看下是什么问题

vincent@NSHM:~/Desktop$ javac Test.java
vincent@NSHM:~/Desktop$ java Test
java.lang.ClassNotFoundException: oracle.jdbc.oracle.OracleDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at Test.<init>(Test.java:52)
at Test.main(Test.java:22)
Exception in thread "main" java.lang.NullPointerException
at Test.executeQuery(Test.java:66)
at Test.main(Test.java:23)
修己,安人
头像
vincent_zh
帖子: 129
注册时间: 2008-04-05 10:56
来自: 学校

#4

帖子 vincent_zh » 2008-04-23 22:24

经过自己接近三个小时的摸索,主要是通过阅读oracle自带的readme.txt文件,总算是解决了,果然是环境变量的问题啊,还好我的英文还不是很水。设置好环境变量后,终于看到数据了,好开心啊。。。看哪天有空,写个配置过程。现在赶紧做课程设计先了。
修己,安人
头像
bird
帖子: 765
注册时间: 2006-09-04 10:45
联系:

#5

帖子 bird » 2008-04-24 10:21

vincent_zh 写了:oracle.jdbc.oracle.OracleDriver
是说找不到oracle的jdbc 驱动,你在工程里面导入oracle的jdbc驱动就行了啊
头像
vincent_zh
帖子: 129
注册时间: 2008-04-05 10:56
来自: 学校

#6

帖子 vincent_zh » 2008-04-24 15:13

嗯,谢谢,我已经解决问题了
修己,安人
回复