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:この Web サイトから 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 docs http://db.apache.org/derby/integrate/plugin_help/derby_app.htmlのページです。

于 2012-07-11T09:04:40.153 に答える