Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1530884
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 23:09:53

一起学习
本文提供一个详细而易懂的指导,让你快速掌握使用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 Type 4 免费/开放源码 --------------------------------------------------------------------------------------------------------------- Merant DataDirect Type 4 商业 Connect JDBC --------------------------------------------------------------------------------------------------------------- i-net Opta JDBC Type 4 商业 4.10修订版 --------------------------------------------------------------------------------------------------------------- WebLogic JDriver for Weblogic Type 4 商业 MS SQL Server --------------------------------------------------------------------------------------------------------------- Atinav aveConnect Type 4 商业 JDBC --------------------------------------------------------------------------------------------------------------- Sun JDBC- ODBC Bridge 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驱动程序 从下载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/中找到。对于标准的JBoss发行版本,是default而 JBoss-Jetty版本则是jetty。该入口应该是一行用逗号分隔开的JDBC驱动程序名列表。 打开文件,找到以下面的mbean标记开始的入口: 驱动程序列表放在名为Drivers的子标记中。按如下所示将你的JDBC驱动程序添加到列表 中。 $ 添加Sun JDBC-ODBC桥驱动程序 org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver,sun.jdbc.odbc.JdbcOdbcDriver $ 添加FreeTDS驱动程序 org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver,com.internetcds.jdbc.tds.Driver $ 添加Merant DataDirect Connect JDBC驱动程序 org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver,com.merant.datadirect.jdbc.sqlserver.SQLServerDriver $ 添加i-net OPTA 2000 JDBC驱动程序 org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver,com.inet.tds.TdsDriver $ 添加WebLogic jDriver for Microsoft SQL Server org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver,weblogic.jdbc.mssqlserver4.Driver 创建DB连接池 到目前为止,你已经告诉JBoss你的驱动程序。现在建立一个你的EJBBean能够连接的连接池。在本教程中,你将创建 一个名为SQLServerPool的连接池。要创建连接池,先在jboss.jcml文件中定位已下列行开始的mbean入口: 在你刚在定位的mbean项下面加入如下所给的mbean项。注意这些必须加在结束标记后面!!! $ Sun JDBC-ODBC桥驱动程序连接池声明 org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl SQLServerPool jdbc:odbc:jboss_odbc dbusername dbpassword etc... $ Merant DataDirect Connect JDBC驱动程序连接池声明 org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl SQLServerPool jdbc:sqlserver://servername:1433 DatabaseName=DatabaseName dbusername dbpassword etc... $ i-net OPTA 2000 JDBC驱动程序连接池声明(采用INET数据源) com.inet.tds.XDataSource SQLServerPool host=ServerName; database=DatabaseName dbusername dbpassword etc... $ i-net OPTA 2000 JDBC驱动程序连接池声明(采用JBoss数据源) org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl SQLServerPool jdbc:inetdae7:HostName dbusername dbpassword etc... $ WebLogic jDriver for Microsoft SQL Server连接池声明 org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl SQLServerPool jdbc:weblogic:mssqlserver4:DatabaseName@ServerName:1433 user=dbusername; password=dbpassword etc... 检验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数据类型映射) java:/SQLServerPool MS SQLSERVER false MS SQLSERVER $ 改变%JBOSS_HOME%/conf目录下的standardjaws.xml文件中的缺省设置 要改变缺省的数据源和数据类型映射,请对standardjaws.xml文件作如下修改 java:/SQLServerPool MS SQLSERVER *注: 除了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. 用于连接数据库的参数拼写错误或遗漏。请检查是否正确的指定了该连接池的主机名,数据库,用户 名,用户口令等。 下载本文示例代码


Jboss下MS SQL Server配置指导Jboss下MS SQL Server配置指导Jboss下MS SQL Server配置指导Jboss下MS SQL Server配置指导Jboss下MS SQL Server配置指导Jboss下MS SQL Server配置指导Jboss下MS SQL Server配置指导Jboss下MS SQL Server配置指导Jboss下MS SQL Server配置指导Jboss下MS SQL Server配置指导Jboss下MS SQL Server配置指导Jboss下MS SQL Server配置指导
阅读(205) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~