当前位置: 首页 > 面试题库 >

java.sql.SQLException:找不到适用于jdbc:derby的驱动程序:

黄凌龙
2023-03-14
问题内容

我是jdbc的初学者…运行此代码时遇到问题:

该代码使用appache derby,为了使其正常工作,我首先启动了derby服务器

      java -jar "C:\Program Files\Sun\JavaDB\lib\derbyrun.jar" server start

然后启动程序

      java -classpath derbyclient.jar -jar TestDB.jar

我将类路径设置为C:\ Program Files \ Sun \ JavaDB \ lib \ derby.jar

而且我总是得到那个例外

java.sql.SQLException:找不到适用于jdbc:derby:// localhost:1527 / BOOKDB的合适驱动程序;
java.sql.DriverManager.getConnection(DriverManager.java:602)处的create = true
TestDB.getConnection(TestDB.java:63)上的DriverManager.java:185)TestDB.main(TestDB.java:11)​​上的TestDB.runTest(TestDB.java:20)

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


class TestDB
{
   public static void main(String args[])
   {
      try
      {
         runTest();
      }
      catch (SQLException ex)
      {
         for (Throwable t : ex)
            t.printStackTrace();
      }
      catch (IOException ex)
      {
         ex.printStackTrace();
      }
   }

   public static void runTest() throws SQLException, IOException
   {
      Connection conn = getConnection();
      try
      {
         Statement stat = conn.createStatement();

         stat.executeUpdate("CREATE TABLE Greetings (Message CHAR(20))");
         stat.executeUpdate("INSERT INTO Greetings VALUES ('Hello, World!')");

         ResultSet result = stat.executeQuery("SELECT * FROM Greetings");
         if (result.next())
            System.out.println(result.getString(1));
         result.close();
         stat.executeUpdate("DROP TABLE Greetings");
      }
      finally
      {
         conn.close();
      }
   }

   public static Connection getConnection() throws SQLException, IOException
   {
      Properties props = new Properties();
      FileInputStream in = new FileInputStream("database.properties");
      props.load(in);
      in.close();

      String drivers = props.getProperty("jdbc.drivers");
      if (drivers != null) System.setProperty("jdbc.drivers", drivers);
      String url = props.getProperty("jdbc.url");
      String username = props.getProperty("jdbc.username");
      String password = props.getProperty("jdbc.password");

      return DriverManager.getConnection(url, username, password);
   }
}

问题答案:

当您java使用-jar-classpath参数调用命令时,该-classpath参数将被忽略。请参阅Java启动器的文档。

您可以使用:

Unix / Linux:

java -classpath derbyclient.jar:TestDB.jar TestDB

视窗:

java -classpath derbyclient.jar;TestDB.jar TestDB

或制作清单,将derbyclient.jar添加到类路径。



 类似资料:
  • 问题内容: 我的Java程序(我的第一个程序)似乎位于标准代码的以下行: 我收到以下信息: 但是,在运行Java应用程序时,我提供了正确的位置(我认为); 任何想法如何进行? 太感谢了 问题答案: 任何想法如何进行?太感谢了 是。我看到两个主要问题。一,除非有充分的理由,否则不要使用来运行程序。如果这样做,可能会在以后引起您的重大痛苦。 其次,您的类路径看起来不正确。jar文件位于其上。第一部分应

  • 问题内容: 当我尝试运行此程序时,出现此异常。这是微软的例子之一。我已经通过项目属性将sqljdbc4.jar添加到了netbeans的类路径中,以便进行编译和运行。我还测试了可以使用下面的import语句找到该类-编译期间没有错误,因此它必须找到jar。 可能与sqldbc4.jar引用的dll或某些sql dll相关吗? 这是确切的例外,下面是确切的代码(密码除外)。 例外: 码: 问题答案:

  • 问题内容: 我在Netbeans中收到此错误: 这是怎么引起的,我该如何解决? 问题答案: 找不到适合jdbc:derby:// localhost:1527 /的驱动程序 此异常有两个原因: 驱动程序未加载。 JDBC URL格式错误。 对于你的情况,我希望在连接字符串的末尾看到一个数据库名称。例如(create=true如果要创建不存在的数据库,请使用): 默认情况下,数据库是在启动网络服务器

  • 由于某些原因,当我试图创建一个web服务以将id、name和idno插入mysql数据库时,下面的代码不会执行。我已经添加了MYSQL JDBC驱动程序-MYSQL连接器库,但我得到这个错误“severe:java.sql.SQLException:No appital Driver found for JDBC:MYSQL://localhost:3306/web”。我看过一些人的答案,但似乎没

  • 我已经检查了这个问题的所有消息,但它是一样的,它不起作用。我必须用java连接到sql服务器2008数据库,我已经添加了sqljdbc4.jar但什么也没有。 我做的不好,如果你还需要什么,请告诉我。 我收到这条消息: Java语言sql。SQLException:未找到适合jdbc的驱动程序:sqlserver://xxx.xxx.xxx.xxx:1433;databaseName=ccis;用

  • 我正在尝试在我的本地tomcat服务器中部署一个基于Spring的Web应用程序。以下是我的申请详情: > 基于Spring的web应用程序(war) Tomcat 6服务器 Java 1.6 Oracle数据库 以下是按jdbc配置列出的: 配置仅适用于雄猫设置。 我还在我的 /lib 文件夹中添加了 ojdbc6.jar,ojdbc14.jar 我毫无问题地部署了我的war文件。但是当我的应用