当前位置: 代码迷 >> J2SE >> 连接oracle报错解决思路
  详细解决方案

连接oracle报错解决思路

热度:25   发布时间:2016-04-23 20:06:49.0
连接oracle报错
源码如下:

import java.sql.*;

public class TestDemo
{
public static void main(String[] args)
{
Connection conn = null;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@xx.xx.xx.xx:1521:url";
String UserName = "xxxx";
String Password = "xxxx";
conn = DriverManager.getConnection(url, UserName, Password);
}
catch (Exception e) 
{
            e.printStackTrace();
        }
try
{
String querySql = "select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual";
PreparedStatement ps = conn.prepareStatement(querySql);
ResultSet rs = ps.executeQuery();
if (rs != null) 
{
while (rs.next()) 
{
  String systime = rs.getString(1);
}
}
}
catch(Exception e)
{
 e.printStackTrace();
}
}
}


oracle驱动包如下:
xxx:/opt/oracle/product/11.2/db_1/jdbc/lib> ls -lrt
总用量 21752
-rw-r--r-- 1 oracle dba 1996228  7月 31 2009 ojdbc5.jar
-rw-r--r-- 1 oracle dba 2111220  7月 31 2009 ojdbc6.jar
-rw-r--r-- 1 oracle dba 2429777  7月 31 2009 ojdbc5dms.jar
-rw-r--r-- 1 oracle dba 2655741  7月 31 2009 ojdbc6dms.jar
-rw-r--r-- 1 oracle dba 3081328  7月 31 2009 ojdbc5_g.jar
-rw-r--r-- 1 oracle dba 3101875  7月 31 2009 ojdbc5dms_g.jar
-rw-r--r-- 1 oracle dba 3401519  7月 31 2009 ojdbc6_g.jar
-rw-r--r-- 1 oracle dba 3423263  7月 31 2009 ojdbc6dms_g.jar
-rw-r--r-- 1 oracle dba   20355  7月 31 2009 simplefan.jar


编译命令如下:
javac -classpath /opt/oracle/product/11.2/db_1/jdbc/lib/ojdbc6.jar TestDemo.java


现在问题来了,,运行java TestDemo的时候报找不到oracel的驱动。。报错信息:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at DataBase.main(DataBase.java:10)


请问是哪个地方执行的不对吗?


在MyEclips上运行是没问题的。。
------解决思路----------------------
运行的时候也要加上 -classpath  的哦:


java -classpath /opt/oracle/product/11.2/db_1/jdbc/lib/ojdbc6.jar TestDemo

------解决思路----------------------
http://www.oracle.com/technetwork/apps-tech/jdbc-112010-090769.html
下载与你数据库对应的包。加入工程
  相关解决方案