6

我如何连接到 derby 数据库(netbeans 附带)?我使用 Tomcat 作为服务器。之前我使用以下语句连接到 derby 数据库,但后来我用作glassfish服务器。

Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/PollDatasource");
Connection connection = ds.getConnection();

但现在使用 Tomcat 作为服务器我不知道如何做到这一点。

注意:Tomcat 和 Derby 预装了我当前使用的 netbeans IDE

4

3 回答 3

10

在 Tomcat 中找到conf/context.xml,然后编辑并编写如下内容:

<Resource name="jdbc/PollDatasource" auth="Container" type="javax.sql.DataSource"
    driverClassName="com.YourDriver" 
    url="jdbc:derby://localhost:1527/nameOfTheDatabase;create=true"
    username="username" password="password" maxActive="20" 
    maxIdle="10" maxWait="-1" />

注 1:使用上述 URL,驱动程序将是org.apache.derby.jdbc.ClientDriver

注 2:您也可以在项目的 META-INF/context.xml 中添加上述信息。这成为特定于应用程序的。如果您在 tomcat 的 context.xml 中添加信息,该信息将变为全局。

注意3:从这个网站下载jar。下载db-derby-10.9.1.0-bin.zip。它包含许多文件,包括derby.jar和derbyclient.jar(以及很多文档)。derbyclient.jar包含我们的朋友org.apache.derby.jdbc.ClientDriver.class。derby.jar 包含org.apache.derby.jdbc.EmbeddedDriver. 将下载的 jar 保存在 Tomcat 的 lib 文件夹中。

并在您的应用程序 web.xml “resource-ref”中:

<resource-ref>
    <description>my connection</description>
    <res-ref-name>jdbc/PollDatasource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

你可能想看看这些问题:

于 2012-07-11T09:01:09.303 回答
4

你需要:

1) 复制derbyclient-*.jar${TOMCAT_HOME}/lib.

2)编辑您的server.xml并将以下行添加到 GlobalNamingResources 部分:

 <Resource auth="Container" 
           driverClassName="org.apache.derby.jdbc.EmbeddedDriver" 
           maxActive="8" maxIdle="4" 
           name="jdbc/my-ds" type="javax.sql.DataSource" 
           url="jdbc:derby:mydb;create=true" 
           username="myuser" password="mypassword" />

3)在您的上下文定义中,添加:

 <Context docBase="myapp"
          path="/myapp"
          reloadable="true"
          ...>
    <ResourceLink name="jdbc/my-ds"
                  global="jdbc/my-ds"
                  type="javax.sql.DataSource" />
 </Context>

4)重启Tomcat。

于 2012-07-11T09:04:01.600 回答
1

您的示例需要 JNDI。有关设置,请参阅相关的 tomcat 版本文档。

或者使用连接字符串,这是来自 derby 文档http://db.apache.org/derby/integrate/plugin_help/derby_app.html的页面

于 2012-07-11T09:04:40.153 回答