0
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:在 java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) 处找不到适用于 jdbc.oracle:thin:@hp-hp:1521:xe 的驱动程序Jdbcdemo.main(Jdbcdemo.java:12)

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

4

2 回答 2

1

根据堆栈跟踪,

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

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

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

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

于 2013-09-03T18:34:02.630 回答
1

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

您的 JDBC url 应该以jdbc:oracle:thin:(not 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 应该是什么。

于 2013-09-03T18:38:25.857 回答