【问题标题】:ERROR while connecting JDBC连接 JDBC 时出错
【发布时间】:2013-09-05 21:14:17
【问题描述】:
import java.sql.*;
public class Jdbcdemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection c=DriverManager.getConnection("jdbc.oracle:thin:@hp-hp:1521:xe","system", "ashu41228");
            if(c!=null)
            {
                System.out.println("DataBase is Created");


            }


        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

java.sql.SQLException: 找不到适合 jdbc.oracle:thin:@hp-hp:1521:xe 的驱动程序 在 java.sql.DriverManager.getConnection(未知来源) 在 java.sql.DriverManager.getConnection(未知来源) 在 Jdbcdemo.main(Jdbcdemo.java:12)

上面的异常来了,我不知道如何解决这个问题。请帮助

【问题讨论】:

    标签: jdbc


    【解决方案1】:

    根据堆栈跟踪,

    java.sql.SQLException: 找不到合适的驱动程序

    您似乎没有适用于 Oracle 数据库的驱动程序。 要解决这个问题,您的类路径中必须有 Oracle JDBC 驱动程序。

    您可以从oracle site 下载合适的驱动程序并将包添加到您的构建路径。

    请参阅this article 以设置您的类路径或其他 SO 问题。

    【讨论】:

      【解决方案2】:

      您收到的错误消息并不一定意味着您没有正确的驱动程序或您的类路径中没有驱动程序。我认为您的类路径中必须有一个驱动程序,因为Class.forName 调用成功。根据FAQ,您应该正在加载“oracle.jdbc.OracleDriver”,但您发现了一些东西,这是一个好兆头。

      您的 JDBC url 应该以 jdbc:oracle:thin:(而不是 jdbc.oracle:thin:)开头。即使其他一切都正确,错误的前缀也会导致“找不到合适的驱动程序”错误发生(我用我的类路径中的 Oracle jar 和我知道有效的 JDBC url 验证了这一点):

      groovy:000> url = "jdbc.oracle:thin:@//localhost:1521/FOOBAR"
      groovy:000> DriverManager.getConnection(url, "asdf", "zxcv")
      ERROR java.sql.SQLException: No suitable driver found for jdbc.oracle:thin:@//localhost:1521/FOOBAR
              at java_sql_DriverManager$getConnection.call (Unknown Source)
              at groovysh_evaluate.run (groovysh_evaluate:4)
              ...
      

      一旦你得到正确的前缀,那么如果 url 的其余部分有问题,你会得到一个不同的错误:

      groovy:000> url = "jdbc:oracle:thin:@//localhost:1521/FOOBAR"
      groovy:000> DriverManager.getConnection(url, "asdf", "asdf")
      ERROR java.sql.SQLRecoverableException:
      IO Error: The Network Adapter could not establish the connection
              at oracle.jdbc.driver.T4CConnection.logon (T4CConnection.java:419)
              at oracle.jdbc.driver.PhysicalConnection.<init> (PhysicalConnection.java
      :536)
              at oracle.jdbc.driver.T4CConnection.<init> (T4CConnection.java:228)
              at oracle.jdbc.driver.T4CDriverExtension.getConnection (T4CDriverExtensi
      on.java:32)
              at oracle.jdbc.driver.OracleDriver.connect (OracleDriver.java:521)
              at java_sql_DriverManager$getConnection.call (Unknown Source)
              at groovysh_evaluate.run (groovysh_evaluate:4)
              ...
      

      通常网址类似于

      jdbc:oracle:thin:@//dbserver:port/databasename
      

      与您的 DBA 联系以找出正确的 URL。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-24
        • 1970-01-01
        • 1970-01-01
        • 2021-09-13
        • 2016-05-25
        • 2016-05-03
        • 2014-10-05
        • 1970-01-01
        相关资源
        最近更新 更多