JBoss3.x和4.x下配SqlServer JDBC驱动

类别:Java 点击:0 评论:0 推荐:

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'.)

 

本文地址:http://com.8s8s.com/it/it11614.htm