【问题标题】:How to load JDBC driver for Oracle SQL Developer如何为 Oracle SQL Developer 加载 JDBC 驱动程序
【发布时间】:2015-12-22 06:56:34
【问题描述】:

我的教授要求我们制作一个java程序,要求用户输入数据,输入的数据应该自动插入到sql developer中的表中。

我有 Java 和数据库方面的背景,但我不熟悉创建 JDBC 应用程序。

我在网上搜索了一个教程,它说我需要先注册 JDBC 驱动程序。我在我的编译器中运行了代码,但它输出了Error: unable to load driver class!

我应该怎么做才能注册?

我还是不知道Class.forName();的概念

其次,它会出错SQLException: No suitable drivers found

我不知道我的代码有什么问题,但我的 SQL 开发人员中的连接详细信息是这样的:

连接名称:mariel
连接详情:mariel@//localhost:1521/XEXDB

代码:

import java.sql.* ; 
public class employeeMode{
    public static void main(String args[]) throws SQLException{
        String URL = "jdbc:oracle:thin:@localhost:1521:XEXDB";
        String USER = "mariel";
        String PASS = "1234";
        Connection conn = DriverManager.getConnection(URL, USER, PASS);

        try {
           Class.forName("oracle.jdbc.driver.OracleDriver");
        }
        catch(ClassNotFoundException ex) {
           System.out.println("Error: unable to load driver class!");
           System.exit(1);
        }
    }
}

编辑:
我修好了它!谢谢大家!这是工作代码:

import java.sql.* ; 
public class employeeMode{
    public static void main(String args[]) throws SQLException{
        String URL = "jdbc:oracle:thin:mariel@//localhost:1521/XEXDB";
        String USER = "mariel";
        String PASS = "1234";


        try {
              Class.forName("oracle.jdbc.driver.OracleDriver");
              Connection conn = DriverManager.getConnection(URL, USER, PASS);
            }
              catch(ClassNotFoundException ex) {
              System.out.println("Error: unable to load driver class!");
               System.exit(1);
        }
    }
}

【问题讨论】:

  • 你必须在你的类路径中添加 oracle 驱动
  • 你在使用 MySql 或 Oracle 或其他什么类型的数据库。如果您使用的是 oracle,请使用 ojdbc.jar 如果您使用的是 MySql,请使用我的安装程序提供的 jar
  • 将你的连接声明移到Class.forName下面的行
  • 从 JDBC 4 开始,实际上不需要 Class.forName 行。
  • 我使用的是 Oracle 数据库 11g。我不知道如何在我的类路径中添加 oracle 驱动程序。我将语句移到了 try 语句中,但它仍然没有找到驱动程序。我会在网上找到关于如何添加驱动程序的解决方案。

标签: java jdbc oracle-sqldeveloper


【解决方案1】:

添加一个与数据库配套的jar

对于oracle,连接字符串是

jdbc:oracle:thin:username/password@url:port:schema

Mysql 关注link

【讨论】:

    【解决方案2】:

    @玛丽尔, 你有没有安装过Oracle 10g 或者任何版本的数据库, 我认为 Class.forName("oracle.jdbc.driver.OracleDriver");无法找到您已安装系统的任何数据库连接

    从下面的驱动器下载 ojdbcxxx.jar 文件 http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html

    【讨论】:

    • 我确实添加了类路径,但它产生了另一个错误。是因为 XEXDB 服务名吗?
    【解决方案3】:

    首先您必须加载驱动程序,然后创建如下连接。 您还必须将 ojdbc jar 放在类路径中。

    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection conn = DriverManager.getConnection(URL, USER, PASS);
    

    【讨论】:

      【解决方案4】:
      import java.sql.* ; 
      public class employeeMode{
          public static void main(String args[]) throws SQLException{
              String URL = "jdbc:oracle:thin:@localhost:1521:XEXDB";
              String USER = "mariel";
              String PASS = "1234";
      
      
              try {
                    Class.forName("oracle.jdbc.driver.OracleDriver");
                    Connection conn = DriverManager.getConnection(URL, USER, PASS);
                  }
                    catch(ClassNotFoundException ex) {
                    System.out.println("Error: unable to load driver class!");
                     System.exit(1);
              }
          }
      }
      

      【讨论】:

        【解决方案5】:

        您必须添加 oracle 驱动程序 jar 文件,该文件可在网络 http://www.oracle.com/technetwork/apps-tech/jdbc-112010-090769.html 上找到。然后将它应用到你的类路径中。

        【讨论】:

          【解决方案6】:

          首先您尝试在加载 oracle 驱动程序之前使用 drivermanager 建立连接 首先你应该添加oracle ojdbc6-11.2.0.4.jar 文件来加载oracle驱动

          您可以将两种方法分开,一种是打开,另一种是关闭数据库连接,如下所示

                public class BDConnection
                {
                private static final String DB_DRIVER =    "jdbc:oracle:thin:@localhost:1521:XEXDB";
                private static final String DB_CONNECTION = "jdbc:oracle:thin:@localhost:1521:XEXDB";
                private static final String DB_USER = "mariel";
                private static final String DB_PASSWORD = "1234"; 
          
            }
          
             public static Connection getDBConnection() {
          
              Connection dbConnection = null;
          
              try {
          
                  Class.forName(DB_DRIVER);
          
              } catch (ClassNotFoundException e) {
          
                  System.out.println(e.getMessage());
          
              }
          
              try {
          
                  return DriverManager.getConnection(
                          DB_CONNECTION, DB_USER, DB_PASSWORD);
          
          
          
              } catch (SQLException e) {
          
                  System.out.println(e.getMessage());
          
              }
          
              return dbConnection;
          
          }
          
          public static void closeMyConnection(Connection connection) {
          
              try {
          
                  connection.close();
          
          
              } catch (Exception ex) {
                  ex.printStackTrace();
              }
          
          }
          

          现在要测试您的代码,只需在添加 jar 文件后在 main 方法中调用 getDBConnection()

            public static void main(String[] argv) {
          
            Connection connection =getDBConnection();
            closeMyConnection(connection);        
          }
          

          【讨论】:

            【解决方案7】:

            不是吗

            Class.forName("oracle.jdbc.OracleDriver");
            

            ?并且:

            ...
            try {
                   Class.forName("oracle.jdbc.OracleDriver");
                   Connection conn = DriverManager.getConnection(URL, USER, PASS);
                }
            ...
            

            【讨论】:

              猜你喜欢
              • 2017-07-15
              • 1970-01-01
              • 1970-01-01
              • 2011-04-21
              • 1970-01-01
              • 2011-08-24
              • 2011-08-22
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多