连接JDBC时出错

时间:2013-09-03 18:21:46

标签: jdbc

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     at java.sql.DriverManager.getConnection(Unknown Source)     at java.sql.DriverManager.getConnection(Unknown Source)     在Jdbcdemo.main(Jdbcdemo.java:12)

以上异常即将到来我不知道如何解决这个问题。请帮忙

2 个答案:

答案 0 :(得分:1)

根据堆栈跟踪,

  

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

看起来您没有合适的Oracle数据库驱动程序。 要解决此问题,您必须在类路径中使用Oracle JDBC驱动程序。

您可以从oracle site下载合适的驱动程序,然后将该软件包添加到您的构建路径中。

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

答案 1 :(得分:1)

您获得的错误消息并不一定意味着您没有合适的驱动程序,或者您的类路径中没有驱动程序。我认为你的类路径中必须有一个驱动程序,因为Class.forName调用成功了。根据{{​​3}}你应该加载“oracle.jdbc.OracleDriver”,但是你找到了一些东西,这是一个好兆头。

您的JDBC网址应以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)
        ...

一旦你获得了正确的前缀,那么如果网址的其余部分出现问题,你将收到不同的错误:

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联系,找出正确的网址。