【问题标题】:Derby Database not connecting when deployed as a an executable jar but works fine in JdeveloperDerby 数据库在部署为可执行 jar 时未连接,但在 Jdeveloper 中运行良好
【发布时间】:2013-12-31 17:23:01
【问题描述】:

您好,我的 Java 程序有问题,当我在 JDeveloper 中运行该应用程序时,该程序运行良好,它可以正确连接到 derby 数据库。 当我创建一个可执行 jar 时,我收到以下错误,找不到适合 jdbc:derby://localhost:1527/c:..../dbcam 的驱动程序

我已经尝试了以下

    { public void DoConnect3( ) {

  try {
       Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
       // conenct to the database
      // String host ="jdbc:derby://localhost:1527/dbCam";
       //String host ="jdbc:derby://localhost:1527/C:/Users/nasir/SkyDrive/Java/db_Backup/dbCam";
       String host ="jdbc:derby://localhost:1527/C:/Users/nasir/.netbeans-derby/dbCam";
       String uName ="userCam";
       String uPass ="cam";
       con = DriverManager.getConnection(host,uName,uPass);
       stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE );
       //String sql = "SELECT * FROM tableCustomer";
       String sql = "SELECT * FROM tableTroubleshooting";
       //String tsss = Integer.toString(tss);
       //String sql = "SELECT * FROM tableTroubleshooting where ProbID  "+"'"+tsss+"'";
        rs = stmt.executeQuery(sql);
       rs.next();

   }

这仍然没有多大作用,只显示消息说 org.apache.derby.clientdriver。

任何建议将不胜感激。

谢谢

【问题讨论】:

  • 请包含 exact 异常和完整的堆栈跟踪。如果 Class.forName() 抛出 ClassNotFoundException,那么问题是您的 CLASSPATH 中没有该类。尝试使用 --verbose=class 运行您的程序,以了解有关 Java 运行时在何处查找您的类文件的更多信息。

标签: database deployment jar derby jdeveloper


【解决方案1】:

您使用的网址是 ClientDriver 网址,而不是 EmbeddedDriver 网址。您需要添加正确的 jar 并加载正确的驱动程序。

HTH

D

【讨论】:

  • 感谢您的回复,我已经更改了 url,我已经在库类路径中有 jar,当部署为可执行 jar { public void DoConnect3() { try { Class.forName ("org.apache.derby.jdbc.EmbeddedDriver"); String host = "jdbc:derby:C:/Users/nasir/.netbeans-}
  • 我使用的是正确的但仍然无法正常工作stackoverflow.com/questions/42953665/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-24
  • 2021-06-12
  • 1970-01-01
相关资源
最近更新 更多