我用的是jboss4,数据源定义文件路径如下:
C:\jboss\server\default\deploy\mssql-ds.xml
mssql-ds.xml文件名称为必须,内容如下:<?xml version="1.0" encoding="UTF-8"?><!-- ===================================================================== -->
<!--                                                                       -->
<!--  JBoss Server Configuration                                           -->
<!--                                                                       -->
<!-- ===================================================================== --><!-- $Id: mssql-ds.xml,v 1.3 2004/09/15 14:37:40 loubyansky Exp $ -->  <!-- ======================================================================-->
  <!-- New ConnectionManager setup for Microsoft SQL Server 2000  driver     -->
  <!-- You may download the latest Microsoft JDBC driver from *Microsoft*    -->
  <!-- http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/MSDN-FILES/027/001/779/msdncompositedoc.xml&frame=true -->
  <!-- ===================================================================== --><datasources>
  <local-tx-datasource>
    <jndi-name>myDataSource</jndi-name>
    <connection-url>jdbc:microsoft:sqlserver://192.168.0.1:1433;DatabaseName=mydatabase</connection-url>
    <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
    <user-name>sa</user-name>
    <password>sa</password>
    <min-pool-size>10</min-pool-size>
    <max-pool-size>200</max-pool-size>
        <!-- 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>MS SQLSERVER2000</type-mapping>
      </metadata>
  </local-tx-datasource>
</datasources>

解决方案 »

  1.   

    修改mssql-ds.xml和mssql-xa-ds.xml文件,配置相应的参数.
      

  2.   

    修改javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("java:comp/env/jdbc/MSSQLDS");为:
    DataSource ds = (DataSource)ctx.lookup("java:/MSSQLDS");
      

  3.   

    redex(cc) ;
    这个方法我以前就试过了,这是JBOSS所特有的JNDI方法,最好在EJB里不采用,是吧?因为要考虑组件和服务器的解耦,而且,这种jndi的方法也不行的,出现的错误也是一样的
      

  4.   

    我也遇到同样的问题,jboss的jndi真得是太烂了,google半天都没有像样的办法,基本是按英文文档的翻译,而且都没用.
      

  5.   

    www.jboss.org,有getting start的文档介绍。