打印本文 打印本文 关闭窗口 关闭窗口
Jboss下MS SQL Server配置指导
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2254  更新时间:2007/11/14 12:55:26  文章录入:mintao  责任编辑:mintao
;mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=SQLServerPool">
<attribute name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</attribute>
<attribute name="PoolName">SQLServerPool</attribute>
<attribute name="URL">jdbc:odbc:jboss_odbc</attribute>
<attribute name="JDBCUser">dbusername</attribute>
<attribute name="Password">dbpassword</attribute>
etc...
</mbean>
$ Merant DataDirect Connect JDBC驱动程序连接池声明
<mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=SQLServerPool">
<attribute name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</attribute>
<attribute name="PoolName">SQLServerPool</attribute>
<attribute name="URL">jdbc:sqlserver://servername:1433</attribute>
<attribute name="Properties">DatabaseName=DatabaseName</attribute>
<attribute name="JDBCUser">dbusername</attribute>
<attribute name="Password">dbpassword</attribute>
etc...
</mbean>
$ i-net OPTA 2000 JDBC驱动程序连接池声明(采用INET数据源)
<mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=SQLServerPool">
<attribute name="DataSourceClass">com.inet.tds.XDataSource</attribute>
<attribute name="PoolName">SQLServerPool</attribute>
<attribute name="Properties">host=ServerName; database=DatabaseName</attribute>
<attribute name="JDBCUser">dbusername</attribute>
<attribute name="Password">dbpassword</attribute>
etc...
</mbean>
$ i-net OPTA 2000 JDBC驱动程序连接池声明(采用JBoss数据源)
<mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=SQLServerPool">
<attribute name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</attribute>
<attribute name="PoolName">SQLServerPool</attribute>
<attribute name="URL">jdbc:inetdae7:HostName</attribute>
<attribute name="JDBCUser">dbusername</attribute>
<attribute name="Password">dbpassword</attribute>
etc...
</mbean>
$ WebLogic jDriver for Microsoft SQL Server连接池声明
<mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=SQLServerPool">
<attribute name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</attribute>
<attribute name="PoolName">SQLServerPool</attribute>
<attribute name="URL">jdbc:weblogic:mssqlserver4:DatabaseName@ServerName:1433</attribute>
<attribute name="Properties">user=dbusername; password=dbpassword</attribute>
etc...
</mbean>

检验DB连接池
启动JBoss确保JDBC驱动程序找到并且创建了连接池,如果成功加载JDBC驱动程序将有如下所示的输出
[Transaction manager] Initializing
[Transaction manager] Loaded JDBC-driver:org.hsql.jdbcDriver
[Transaction manager] Loaded JDBC-driver:org.enhydra.instantdb.jdbc.idbDriver
[Transaction manager] Loaded JDBC-driver:sun.jdbc.odbc.JdbcOdbcDriver
[Transaction manager] Loaded JDBC-driver:com.merant.datadirect.jdbc.sqlserver.SQLServerDriver
[Transaction manager] Loaded JDBC-driver:com.inet.tds.TdsDriver
[Transaction manager] Loaded JDBC-driver:weblogic.jdbc.mssqlserver4.Driver
[Transaction manager] Initialized
稍等片刻...连接池的输出
[SQLServerPool] Starting
[SQLServerPool] XA Connection pool SQLServerPool bound to java:/SQLServerPool
[SQLServerPool] Started

配置CMP数据类型映射
配置JBoss使用MS SQL Server连接池作为缺省的数据源,你可以选择下列方法之一:
$ 在你的应用程序的META-INF目录下创建jaws.xml文件重载standardjaws.xml中如下所示的缺省设置
示例 jaws.xml(MS SQL Server CMP数据类型映射)
<?xml version="1.0" encoding="UTF-8"?>
<jaws>
<datasource>java:/SQLServerPool</datasource>
<type-mapping>MS SQLSERVER</type-mapping>
<default-entity>
<remove-table>false</remove-table>
</default-entity>
<type-mappings>
<type-mapping>
<name>MS SQLSERVER</name>

<!-- 请将standardjaws中的"MS SQLSERVER"映射复制到此处 -->

</type-mapping>
</type-mappings>
</jaws>
$ 改变%JBOSS_HOME%/conf目录下的standardjaws.xml文件中的缺省设置
要改变缺省的数据源和数据类型映射,请对standardjaws.xml文件作如下修改
<?xml version="1.0" encoding="UTF-8"?>
<jaws>

<datasource>java:/SQLServerPool</datasource>
<type-mapping>MS SQLSERVER</type-mapping>
*注: 除了MS SQLSERVER 2000,其它版本都使用MS SQLSERVER。如果你使用的是SQL Server2000, 将
上面的MS SQLSERVER改为MS SQLSERVER2000。

疑难解答
JDBC未装载错误
在启动时显示如下错误:
[JDBC] Could not load driver:sun.jdbc.odbc.JdbcOdbcDrivers
这种错误可能在下列情况出现:
1. jboss.jcml配置文件中的JDBC驱动名称拼写错误。在如上的例子中应该是
sun.jdbc.odbc.JdbcOdbcDriver
2. JDBC驱动程序没有正确的安装 - 它的类文件或.jar文件不在CLASSPATH中。

在启动连接池时JBoss悬停
当JBoss启动时,一系列的信息显示在控制台上。关于连接池的最后信息应该如下所示:
[Hypersonic] Press [Ctrl]+[C] to abort
[InstantDB] Started
[DefaultDS] Starting
[DefaultDS] XA Connection pool DefaultDS bound to java:/DefaultDS
[DefaultDS] Started
[SQLServerPool] Starting
[SQLServerPool] XA Connection pool SQLServerPool bound to java:/SQLServerPool
  首先检查JDBC驱动程序是否正确加载。如果没有正确加载请察看前面的"JDBC未装载错误"部分。如果驱动
正确加载,该错误意味着JBoss不能和你的数据库服务器通讯。该错误可能在以下情形出现:
1. 用于连接数据库的参数拼写错误或遗漏。请检查是否正确的指定了该连接池的主机名,数据库,用户
名,用户口令等。

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口