尝试创建SQL数据库时没有合适的驱动程序

时间:2015-12-08 23:53:27

标签: java sql jdbc

我正在尝试使用此Java程序创建一个新的SQL数据库

import java.sql.*; //Needed for JDBC classes

public class BuildPhonebookDB {
  public static void main(String[] args) throws Exception{
    //Create a named constant for the URL
    final String DB_URL = "jdbc:derby:Phonebook;create=true";

    try {
        //Create a connection to the database.
        Connection conn = DriverManager.getConnection(DB_URL);
        //Create a Statement object.
        Statement stmt = conn.createStatement();
        //Create the Entries table
        stmt.execute("CREATE TABLE Entries (" +
                "Name CHAR(20)"+
                "Number INTEGER)"
                );
        System.out.println("Database Connected");
        //Close the connection
        conn.close();
    }
    catch(Exception ex) {
        System.out.println(ex.getMessage());
    }
  }
}

当我尝试运行程序时,出现错误:

找不到合适的jdbc驱动程序:derby:Phonebook; create = true

我已经查看了Stack Overflow上的各种其他类似帖子,例如this one,但没有帮助。我看过有关司机罐的事情,但我不知道这是什么,如果我需要编辑它,有人可以帮我解决吗?

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

您是否看到了此guide并且您是否已完成本指南的所有步骤?

  

Apache Derby

     

下载Derby从中下载二进制Apache Derby发行版   德比网站http://db.apache.org/derby/derby_downloads.html。   这些教程说明使用版本10.12.1.1并假设您   下载了表中列出的二进制分发文件之一   下面:

     

操作系统下载文件Windows db-derby-10.12.1.1-bin.zip   UNIX,Linux和Mac db-derby-10.12.1.1-bin.tar.gz如果是更新的   发布可用,下载,然后替换该版本   以下说明中的10.12.1.1编号。

     

安装Derby选择要安装的目录   德比软件。您必须具有此目录的写入权限。该   下面的示例说明使用C:\ Apache for Windows和/ opt / Apache   对于UNIX;一定要使用你的实际位置。复制软件   分配到您选择的位置,然后如图所示提取它   下方。

     

Windows(使用提取工具,例如WinZip - 这些说明   使用mks unzip):

mkdir C:\Apache copy db-derby-10.12.1.1-bin.zip
> C:\Apache cd C:\Apache unzip db-derby-10.12.1.1-bin.zip
  

UNIX:

mkdir /opt/Apache cp db-derby-10.12.1.1-bin.tar.gz /opt/Apache
> cd /opt/Apache tar xzvf db-derby-10.12.1.1-bin.tar.gz
  

在这两种情况下,软件现在都将被提取到一个子目录中   名为db-derby-10.12.1.1-bin。

     

设置DERBY_INSTALL将DERBY_INSTALL变量设置为其中的位置   你安装了Derby。示例如下所示,但一定要使用   您系统上的实际位置:

     

Windows:C:\> set DERBY_INSTALL=C:\Apache\db-derby-10.12.1.1-bin

     

UNIX Korn Shell:

 $ export
> DERBY_INSTALL=/opt/Apache/db-derby-10.12.1.1-bin
  

配置嵌入式Derby要在嵌入式模式下使用Derby,请设置   CLASSPATH包含下面列出的jar文件:

     

derby.jar:包含Derby引擎和Derby Embedded JDBC   driver derbytools.jar:optional,提供使用的ij工具   本教程中的几个部分您可以设置CLASSPATH   明确地使用下面显示的命令:

     

Windows:

C:\> set
> CLASSPATH=%DERBY_INSTALL%\lib\derby.jar;%DERBY_INSTALL%\lib\derbytools.jar

  

UNIX:

$ export
> CLASSPATH=$DERBY_INSTALL/lib/derby.jar:$DERBY_INSTALL/lib/derbytools.jar:.
  

...   第3步:嵌入式德比

     

当应用程序使用Embedded Derby访问Derby数据库时   JDBC驱动程序,Derby引擎不在单独的进程中运行,并且   没有单独的数据库进程来启动和关闭。   相反,Derby数据库引擎在同一Java Virtual内部运行   Machine(JVM)作为应用程序。所以,德比成为了一部分   应用程序就像应用程序使用的任何其他jar文件一样。   图1描绘了这种嵌入式架构。

     

设置环境

     

要设置环境,请按照" Configure Embedded Derby"   指令。

答案 1 :(得分:2)

在从驱动程序获得连接之前使用此选项: 的Class.forName( “org.apache.derby.jdbc.ClientDriver”)的newInstance();