Jboss下MS SQL Server配置指导

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 14:00:12
 介绍
 本文提供一个详细而易懂的指导,让你快速掌握使用Microsoft SQL Server关系数据
  服务器套件来开发,发布和运行企业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应用程序都是
 Microsoft SQL Server是一个健壮的高性能的和高安全的关系数据库平台。 它是一
个运行在Windows 95,98,Me,Nt和2000平台上的Windows应用程序。它也有Windows CE平台下的
 将高性能的开放源码100%Java J2EE应用服务器的JBoss套件和高超新能的Microsoft
SQL Server RDBMS组合起来,可以给你提供一个Windows平台下的J2EE开发和发布环境,相比
其它Windows平台下的J2EE应用套间和RDBMS方案,该组合性能优异,高回报(ROI),极大减少产
 首先,你需要从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月的版本)不推
  安装Sun JDBC-ODBC桥驱动程序
 Sun JDBC-ODBC桥驱动程序在Java 2 SDK安装过程中自动安装。安装包为
sun.jdbc.odbc。对于所有使用JDBC-ODBC桥的应用程序该包都必须在CLASSPATH中。在本教
  为了使用Sun JDBC-ODBC桥你需要创建一个ODBC数据源来引用MS SQL Server数据库。本
  指向某个MS SQLServer数据库的数据源。
  安装FreeTDS驱动程序
  从http://www.freetds.org下载FreeTDS, 你应该得到了名为freetds_jd
bc.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.minerv
  替换为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.jdb
c.odbc.JdbcOdbcDriver
  

  $ 添加FreeTDS驱动程序   
  
  org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver,com.int
ernetcds.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.TdsDrive
r
  

  $ 添加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入口:
  
  $ Sun JDBC-ODBC桥驱动程序连接池声明   
  org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl
  SQLServerPool
  jdbc:odbc:jboss_odbc
  dbusername
  dbpassword
  etc...   

  $ Merant DataDirect Connect JDBC驱动程序连接池声明
  
  etc...   

  $ i-net OPTA 2000 JDBC驱动程序连接池声明(采用INET数据源)
  
  etc...   

  $ i-net OPTA 2000 JDBC驱动程序连接池声明(采用JBoss数据源)
  
  etc...   

  $ WebLogic jDriver for Microsoft SQL Server连接池声明
  
  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.data
direct.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文件作如下修改
  
  *注: 除了MS SQLSERVER 2000,其它版本都使用MS SQLSERVER。如果你使用的是SQL
  上面的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. 用于连接数据库的参数拼写错误或遗漏。请检查是否正确的指定了该连接池的主机名
  名,用户口令等。

Tags:

作者:佚名
分享到: 微信 更多