本文提供一个详细而易懂的指导,让你快速掌握使用microsoft sql server关系数据库管理系统(rdbms)和jboss j2ee 应用服务器套件来开发,发布和运行企业java应用程序的基本知识。
jboss是一个业界领先的开放源码的符合标准的j2ee应用服务器套件的名称。该套件包括jbossserver ejb v1.1 container 和server, jbossmq jms 1.0 implemetation, jbossns jndi implemetation,jbosscmp advanced o/r mapper和jdbc data object storage implemetation以及jaas-based jbosssx security frameeork. 所有的jboss应用程序都是100%纯java应用程序。
microsoft sql server是一个健壮的高性能的和高安全的关系数据库平台。 它是一个运行在windows 95,98,me,nt和2000平台上的windows应用程序。它也有windows ce平台下的版本,但我想你不会将该版本和jboss一起使用吧?
将高性能的开放源码100%java j2ee应用服务器的jboss套件和高超新能的microsoft sql server rdbms组合起来,可以给你提供一个windows平台下的j2ee开发和发布环境,相比其它windows平台下的j2ee应用套间和rdbms方案,该组合性能优异,高回报(roi),极大减少产品上市时间(rttm)。
首先,你需要从jboss网站获取一份jboss软件。所有jboss的产品信息以及如何获取jboss软件的指导可以在jboss faq或在jboss 站点找到。本文的余下部分包含下列内容:
1. 安装ms sql server的jdbc驱动程序
2. 配置jboss使用jdbc驱动程序
3. 为cmp指定ms sql server数据类型
4. 问题解答
需要注意的是jboss应用服务器套件和ms sql server都在蓬勃发展。它们的版本都在发行,修订,增添新的特性。这意味着 本文的某些信息对于你的jboss或ms sql server过时了。如果你使用最新的jboss cvs版本或开发版或ms sql server beta版时 更容易出现这种情况。
安装jdbc驱动程序
在你能够与jboss(或所有其它java应用程序)一起使用microsoft sql server之前,你必须取得并安装jdbc驱动程序。现将一些现有的microsoft sql server jdbc驱动程序列在下面。
---------------------------------------------------------------------------------------------------------------
驱动程序 提供者 jdbc 类型 availability 版本
---------------------------------------------------------------------------------------------------------------
freetds http://www.freetds.org/ type 4 免费/开放源码
---------------------------------------------------------------------------------------------------------------
merant
datadirect http://www.merant.com/ type 4 商业
connect jdbc
---------------------------------------------------------------------------------------------------------------
i-net opta
jdbc http://www.inetsoftware.de/ type 4 商业 4.10修订版
---------------------------------------------------------------------------------------------------------------
weblogic
jdriver for weblogic type 4 商业
ms sql server
---------------------------------------------------------------------------------------------------------------
atinav
aveconnect http://www.atinav.com/ type 4 商业
jdbc
---------------------------------------------------------------------------------------------------------------
sun jdbc-
odbc bridge http://java.sun.com type 4 免费
---------------------------------------------------------------------------------------------------------------
注
* sun jdbc-odbc桥驱动程序和freetds jdbc驱动程序(至少目前2001年4月的版本)不推荐使用于正式的j2ee开发和发布
安装sun jdbc-odbc桥驱动程序
sun jdbc-odbc桥驱动程序在java 2 sdk安装过程中自动安装。安装包为sun.jdbc.odbc.对于所有使用jdbc-odbc桥的应用程序该包都必须在classpath中。在本教程中假设sun jdbc-odbc桥已经正确的安装在你的系统中。
为了使用sun jdbc-odbc桥你需要创建一个odbc数据源来引用ms sql server数据库。本教程中假设已经创建了名为 jboss_odbc指向某个ms sqlserver数据库的数据源。
安装freetds驱动程序从http://www.freetds.org下载freetds, 你应该得到了名为freetds_jdbc.snapshot.jar的文件,然后复制到%jboss_home%/lib/ext目录下。
安装merant datadirect connect jdbc驱动程序
有两种方法, 你可以选择下列方法之一:
1. 运行merant安装程序,然后将base.jar, util.jar和sqlserver.jar文件添加到classpath中。这些文件位于%merant_home/lib目录下。
2. 将base.jar, uitl.jar和sqlserver.jar文件从%merant_home%/lib目录复制到%jboss_home%/lib/ext目录,推荐采用这种方法。
安装i-net opta 2000jdbcdriver
你可以采用下列方法之一:
1. 运行jboss时将opta2000.jar文件加入classpath。
2. 将文件opta2000.jar复制到%/jboss_home%/lib/ext目录。这是推荐的方法。
配置jboss使用jdbc驱动程序
关于配置jboss使用你的jdbc驱动程序的指导取决于你使用的jboss版本,请选择适合你的版本的方法。
配置jboss 2.4
遵照配置jboss2.1和2.2的指导,
但是将org.opentools.minerva.jdbc.xa.wrapper.xadatasourceimpl替换为org.jboss.pool.jdbc.xa.wrapper.xadatasourceimpl。
配置jboss2.1和2.2
告诉jboss新的jdbc驱动程序在安装好ms sql server jdbc驱动程序后,你需要告诉jboss你要使用该驱动程序。将该驱动程序添加到jboss启动时加载的jdbc清单中。该清单存放在jboss.jcml文件中。该文件可在%jboss_home%/conf/<config-name>中找到。对于标准的jboss发行版本,<config-name>是default而jboss-jetty版本则是jetty。该入口应该是一行用逗号分隔开的jdbc驱动程序名列表。
打开文件,找到以下面的mbean标记开始的入口:
<mbean code="org.jboss.jdbc.jdbcprovider" name="defaultdomain:service=jdbcprovider">驱动程序列表放在名为drivers的<attribute>子标记中。按如下所示将你的jdbc驱动程序添加到列表中。
$ 添加sun jdbc-odbc桥驱动程序
<mbean code="org.jboss.jdbc.jdbcprovider" name="defaultdomain:service=jdbcprovider">
<attribute name="drivers">
org.hsql.jdbcdriver,org.enhydra.instantdb.jdbc.idbdriver,sun.jdbc.od
bc.jdbcodbcdriver
</attribute>
</mbean>
$ 添加freetds驱动程序
<mbean code="org.jboss.jdbc.jdbcprovider" name="defaultdomain:service=jdbcprovider">
<attribute name="drivers">
org.hsql.jdbcdriver,org.enhydra.instantdb.jdbc.idbdriver,com.interne
tcds.jdbc.tds.driver
</attribute>
</mbean>
$ 添加merant datadirect connect jdbc驱动程序
<mbean code="org.jboss.jdbc.jdbcprovider" name="defaultdomain:service=jdbcprovider">
<attribute name="drivers">
org.hsql.jdbcdriver,org.enhydra.instantdb.jdbc.idbdriver,com.merant
.datadirect.jdbc.sqlserver.sqlserverdriver
</attribute>
</mbean>
$ 添加i-net opta 2000 jdbc驱动程序
<mbean code="org.jboss.jdbc.jdbcprovider" name="defaultdomain:service=jdbcprovider">
<attribute name="drivers">
org.hsql.jdbcdriver,org.enhydra.instantdb.jdbc.idbdriver,com.inet.td
s.tdsdriver
</attribute>
</mbean>
$ 添加weblogic jdriver for microsoft sql server
<mbean code="org.jboss.jdbc.jdbcprovider" name="defaultdomain:service=jdbcprovider">
<attribute name="drivers">
org.hsql.jdbcdriver,org.enhydra.instantdb.jdbc.idbdriver,weblogic.jd
bc.mssqlserver4.driver
</attribute>
</mbean>
创建db连接池
到目前为止,你已经告诉jboss你的驱动程序。现在建立一个你的ejbbean能够连接的连接池。在本教程中,你将创建一个名为sqlserverpool的连接池。要创建连接池,先在jboss.jcml文件中定位
已下列行开始的mbean入口:
<mbean code="org.jboss.jdbc.xadatasourceloader" name="defaultdomain:service=xadatasource,name=defaultds">
在你刚在定位的mbean项下面加入如下所给的mbean项。注意这些必须加在结束标记</mbean>后面!!!
$ sun jdbc-odbc桥驱动程序连接池声明
<mbean code="org.jboss.jdbc.xadatasourceloader" name="defaultdomain:service=xadatasource,name=sqlserverpool
">
<attribute name="datasourceclass">org.opentools.minerva.jdbc.xa.wrapper.x
adatasourceimpl</attribute>
<attribute name="poolname">sqlserverpool</attribute>
<attribute name="url">jdbc:odbc:jboss_o
闽公网安备 35060202000074号