0

JBoss 4.3.0 を使用しています。サーバーにデータソースを作成して、MS SQL サーバーに接続しようとしています。

ファイルmyapp-mssql-ds.xmlを作成し、C:\jboss-4.3.0\server\myapps\deployディレクトリ内に配置しました。

ファイルの内容は次のとおりです。

   <datasources>
  <local-tx-datasource>
<jndi-name>jdbc/MyDatasource</jndi-name>
    <connection-url>jdbc:jtds:sqlserver://urlhere</connection-url>

<driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
<user-name>myuser</user-name>
<password>mypassword</password>


<min-pool-size>2</min-pool-size>
    <max-pool-size>70</max-pool-size>
    <blocking-timeout-millis>5000</blocking-timeout-millis>
    <idle-timeout-minutes>15</idle-timeout-minutes>

 </local-tx-datasource>
  </datasources>

Javaコードでは、次の方法でアクセスします

     DataSource dataSource;
     DAOFactory instance = null;

    String url ="jdbc/MyDatasource";
    try {
        dataSource = (DataSource) new InitialContext().lookup(url);
    } catch (NamingException e) {
        throw new DAOConfigurationException(
            "DataSource '" + url + "' is missing in JNDI.", e);
    }

      instance = new DataSourceDAOFactory(dataSource);

最後に、この例外が発生します。

javax.naming.NameNotFoundException: MyDatasource がバインドされていません

何か不足していますか?他の場所で他のエントリを作成する必要がありますか?

4

1 に答える 1

1

java:/JDBC データ ソースの JNDI 名はコンテキストに関連してバインドされているため(こちらのドキュメントをString url = "jdbc/MyDatasource"参照) String url = "java:jdbc/MyDatasource"、.

use-java-contextまたは、プロパティを に設定してデータ ソースを構成することもできますfalse。JNDI 名の前に を付ける必要はありませんjava:

于 2012-08-10T12:32:06.313 に答える