用JNDI吧,很简单的,在%JBoss%\server\default\deploy建一个xml文件,并且文件以“-ds”结尾就可以了,格式如下我,这个是用的MySQL:文件名称:mysql-ds.xml<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: mysql-ds.xml,v 1.3.2.1 2004/12/01 11:46:00 schrouf Exp $ -->
<!--  Datasource config for MySQL using 3.0.9 available from:
http://www.mysql.com/downloads/api-jdbc-stable.html
-->
<datasources>
  <local-tx-datasource>
    <jndi-name>jdbc/test</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/rainbow</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <password>root</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<min-pool-size>5</min-pool-size>
<max-pool-size>100</max-pool-size>
<idle-timeout-minutes>0</idle-timeout-minutes>
    <!-- sql to call when connection is created
    <new-connection-sql>some arbitrary sql</new-connection-sql>
      -->
    <!-- sql to call on an existing pooled connection when it is obtained from pool 
    <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
      -->    <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
    <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>

解决方案 »

  1.   

    try {
    Context ctx = new InitialContext(); //得到初始化上下文 
    Object obj = ctx.lookup("java:/MySqlDS");//查找连接池 
    DataSource ds = (DataSource) obj;//转换成DataSource 
    Connection connect = ds.getConnection();//从连接池中得到一个连接 
    Statement stmt = connect.createStatement();
    ResultSet rs = stmt.executeQuery("select * from num");//这是你的数据库的表噢! 
    while (rs.next()) {
    out.println(rs.getObject("NO"));//取出一个字段 
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
      

  2.   

    如果像前面说的JNDI名字是“jdbc/test”这里应该这样写:
     ctx.lookup("java:/jdbc/test");
      

  3.   

    谢谢这位热心大哥,我现在遇到瓶颈了,思维能力接近枯竭,非常感谢每一位热心朋友的支持和启发,谢谢.大哥,在jboss2.4X里是不用*-ds.xml文件的,作为定义数据源与SQL数据库连接,有一个类似文件jboss.jcml我现在的任务是移植一个旧系统,代码中直接用到数据池java:\EstoreDB,JDBC驱动是正常的我现在的麻烦是不知道源代码或JBOSS中是在哪定义数据池,jboss.jcml也没有,由于找不到数据池的connection-url,那么这个移植的系统就始终连不上数据库我又重新开了一台机作为数据服务器,模拟一样的数据环境,以为这样一来就不用改动IP了,可还是连不上数据库.请大哥再帮我想想办法吧,我现在应该怎么办啊.