JBoss3.x和4.x下配SqlServer JDBC驱动 
  
在为JBoss配置Hibernate的时候发现的问题和心得,拿出来共享一下. 
  
1.       使用微软的SQLSERVER2000驱动,为三个文件mssqlserver.jar ,msutil.jar和 mbase.jar,copy至server\default\lib下. 
2.       设置mssql-ds.xml,具体设置方法参见jboss说明文档.我们可以在\docs\examples\jca下找到默认的各种对应数据库配置文件模板. mssql-ds.xml为: 
<?xml version="1.0" encoding="UTF-8"?> 
<datasources> 
  <local-tx-datasource> 
    <jndi-name>MSSQLDS</jndi-name>  <connection-url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyDatabase</connection-url> 
    <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class> 
    <user-name>x</user-name> 
    <password>y</password> 
      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) --> 
      <metadata> 
         <type-mapping>MS SQLSERVER2000</type-mapping> 
      </metadata> 
  </local-tx-datasource> 
</datasources> 
修改对应的属性,一般修改jndi-name ,onnection-url, user-name, password. 
将修改好的mssql-ds.xml拷贝到server\default\deploy目录下并删除默认的hsqldb-ds.xml 
  
3.       设置server\default\conf目录下standardjws.xml和 standardjbosscmp-jdbc.xml中Jndi name和type-mapping : 
standardjbosscmp-jdbc.xml中: 
修改<datasource>java:/MSSQLDS</datasource> 
加入<datasource-mapping>MS SQLSERVER2000</datasource-mapping> 
standardjws.xml中 
修改<datasource>java:/MSSQLDS</datasource> 
            <type-mapping>MS SQLSERVER2000</type-mapping> 
4.       配置JMS: 
这里JBoss3.x 和 4.x有些区别 
在3.x中拷贝mssql-jdbc2.xml到defult/deploy/jms/文件夹下,并删除默认的hsqldb-jdbc2.xml 
在4.x中拷贝mssql-jdbc2-service.xml 到defult\deploy-hasingleton\jms 文件夹下并删除默认的hsqldb-jdbc2-service.xml. 
mssql-jdbc2.xml和mssql-jdbc2-service.xml均能在docs\examples\jms中找到模板 
       如果没有这个设置,就会报关于JMS_MESSAGES的异常: 
org.jboss.mq.SpyJMSException: Could not resolve uncommited transactions. Message recovery may not be accurate; - nested throwable: (java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]SELECT permission denied on object 'JMS_MESSAGES', database 'test'.) 
   
 
  |