Java Oracle数据库连接

时间:2014-04-09 07:08:38

标签: java sql oracle jdbc

这是我得到的例外:

D:\Programming\Java\bin>JAVAC Demo.java

D:\Programming\Java\bin>java Demo
Error: Could not find or load main class Demo

D:\Programming\Java\bin>java -cp . Demo
 Exception Born java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDrive
r
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:188)
        at Demo.main(Demo.java:14)

这是我的代码:

    // Oracle Connection Program

import java.io.*;
import java.sql.*;

public class Demo 
{
    public static void main(String[] args)throws IOException, SQLException
    {
        String inq = " insert into login values(10,'shri')" ;

        try
        {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE","system","admin");
            Statement stmt = con.createStatement();
            stmt.execute(inq);
            con.close();
        }

        catch(Exception e)
        {
            System.out.println(" Exception Born "+e);
            e.printStackTrace();
        }
    }
}

我已将类路径设置为oracle文件夹中的odbc文件..还将它们复制到java bin文件夹中。我使用环境变量并使用cmd设置了classpath。但仍然是同样的错误。 我甚至使用sql连接到数据库。表已创建。问题是什么?任何提示?

3 个答案:

答案 0 :(得分:2)

启动Java应用程序时,需要指定类路径,否则将无法找到类(如Oracle JDBC驱动程序)。

您需要下载Oracle JDBC驱动程序并将其放在系统上的某个位置(例如C:\oraclejdbc\ojdbc7.jar),然后使用以下命令运行Java:

java -cp .;C:\oraclejdbc\ojdbc7.jar Demo

-cp指定Java应该在哪里查找类:

  • .表示当前目录
  • C:\oraclejdbc\ojdbc7.jar表示:在此jar文件中。

另见Setting the Class Path。该文档还提到了CLASSPATH环境变量,但总的来说,您最好避开它。

答案 1 :(得分:0)

我正面临着类似的问题;到CLASSPATH结束为我工作。 例如。 C:\甲骨文\产品\ 10.1.0 \的Client_1 \ JDBC \ lib中\ ojdbc14.jar的;

答案 2 :(得分:0)

文档很明显,我们不应该再使用oracle.jdbc.driver.OracleDriver,而是使用oracle.jdbc.OracleDriver。

JDBC驱动程序的下载页面位于: http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html