为使用 DB2 UDB 配置第三方应用服务器

来源:互联网 发布:网络教育去哪里报名 编辑:程序博客网 时间:2024/05/16 10:47

简介

通过为数据库配置应用服务器/IDE,在 WebLogic 应用服务器、JBoss 应用服务器或 JDeveloper IDE 上创建 JDBC 连接,并在使用应用服务器开发的 J2EE 应用程序中使用这个到 DB2 数据库的连接。本文将向您展示如何从 WebLogic 和 JBoss 服务器配置 JDBC 连接,而且还将介绍 JDeveloper IDE。

JBoss 是一个开源应用服务器,在默认情况下,使用 Hypersonic 数据库来配置它。因此,为了使之和 DB2 UDB 一起使用,需要为 JBoss 应用服务器配置 DB2。然而,WebLogic 和 JDeveloper 并不使用默认的数据库配置。

初始安装

首先,安装应用服务器和 IDE,用它们来配置 DB2 数据库连接。安装 BEA 的 WebLogic 8.1 应用服务器和 JBoss 4.0 应用服务器。将 <JBoss>/bin 添加至 Path 变量中(<JBoss> 是安装 JBoss 4.0 的目录)。接着,安装 Oracle 的 JDeveloper 10g。最后,安装 DB2 UDB,创建一个 DB2 数据库实例(命名为 DB2)。在 C:/Program Files/
IBM/SQLLIB/java 目录中可以获得 DB2 JDBC 驱动程序 db2java.zip 文件。

用 WebLogic 配置 DB2 UDB

BEA WebLogic Server 8.1 是一个应用服务器,用于开发、集成、安全性保护和管理面向服务的分布式应用程序。本小节将解释如何配置使用 DB2 数据库的 WebLogic 8.1 服务器。您将在 WebLogic 服务器中用 DB2 数据库来配置一个连接池,这是一组到数据库的连接。客户/服务器(Client/Server)应用程序通过一个包含了 JNDI 绑定的数据源(DataSource)从连接池中获得一个连接。需要 DB2 驱动程序类来配置与 DB2 数据库的连接。将 db2java.zip 添加到 <BEA>\user_projects\domains\mydomain\startWebLogic 脚本中的 Classpath 变量中。(<BEA> 是安装 WebLogic 8.1 的目录。)现在,启动 WebLogic 服务器,并通过 URL http://localhost:7001/console 访问 WebLogic 服务器 Administration Console。

WebLogic 服务器 Administration Console 允许您配置与 DB2 数据库的 JDBC 连接(参见图 1)。在导航框架中选择 Services>JDBC 节点,右击 Connection Pools 节点,并选择 Configure a New JDBC Connection Pool。

图 1. 配置新的 JDBC 连接池
配置新的 JDBC 连接池

在 Configure a JDBC Connection Pool 框架中,进入 Database Type 列表并选择 DB2。然后从 Database Driver 字段中选择IBM's DB2 Driver (Type 2)。这一节中的 JDBC 连接与 DB2 数据库的 JDBC 连接都是用 DB2 Type 2 驱动程序配置的,但您可以使用列出的其他任何驱动程序。还应该指定 startWebLogic 脚本中的 Classpath 变量所使用的驱动程序。参见图 2。

图 2. 数据库驱动程序
数据库驱动程序"

接着,在 Define Connection Properties 框架中指定数据库名、用户名和密码。数据库名(Database Name)是在 DB2 数据库中用 CREATE DATABASE 命令创建的数据库的名称。Test Database Connection 框架显示了驱动程序类名和 URL。单击 Test Driver Configuration 按钮,测试与 DB2 数据库之间的 DB2 驱动程序配置。如果建立了到 DB2 数据库的连接,您将看到一条 Connection successful 消息。如果要在一个域内配置多台服务器,可以选择一台将部署连接池的服务器。单击 Create and Deploy 按钮来创建和部署连接池(参见图 3)。

图 3. 创建和部署
创建和部署

现在配置了一个连接池,并在导航框架中为该连接池添加了一个节点。您可以通过在导航框架中选择连接节点来修改连接池的设置(参见图 4)。某些连接池设置包含了初始容量和最大容量:Initial Capacity 是连接池中的初始连接数目;MaxCapacity 是数据库中的最大连接数目。

图 4. 连接池节点
连接池节点

您还可以通过连接池配置数据源(Data Source)。数据源是一个 Java 命名和目录接口(Java Naming and Directory Interface,JNDI)对象,用于提供到连接池的访问。要配置数据源,可以右击 Administration Console 中的 JDBC>Data Sources 节点,并选择 Configure a new JDBCTxData Source。在所显示的 Configuration 框架中,为该数据源指定 JNDI 名。在 Connect To Connection Pool 框架中,选择用 DB2 数据库配置的 JDBC 连接池。然后,该数据源就可以连接到所选择的连接池了。接着,在 Target the Data Source 框架中,为该数据源选择目标服务器。然后,该数据源就可以部署在选定的服务器上了,同时它还在 Administration Console JDBC>Data Sources 节点中为这台服务器添加了一个节点。现在,您已经用 WebLogic 成功配置了 DB2 数据库。#p#用 JBoss 配置 DB2 UDB

JBoss 是一个开源应用服务器。要为 DB2 数据库配置 JBoss,则首先必须将 db2java.zip 复制到<JBoss>/server/default/lib 目录中,向 CLASSPATH 添加 DB2 数据库驱动程序类。(<JBoss> 是安装 JBoss 4.0 服务器的目录。)为了配置使用 DB2 数据源的 JBoss 4.0 应用服务器,需要要将 <JBoss>/docs/examples/jca/db2-ds.xml 数据源文件复制到 <JBoss>/server/default/deploy 目录中。通过将 <driver-class/> 设置为 COM.ibm.db2.jdbc.app.DB2Driver 并将 <connection-url/> 设置为 jdbc:db2:<database>,来修改 db2-ds.xml 配置文件(变量 <database> 是 DB2 数据库名)。接着,在 db2-ds.xml 中指定 user-name 和 password。min-pool-size 元素指定连接池中的最小连接数目。参见清单 1。

清单 1. db2-ds.xml

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>DB2DS</jndi-name>
<connection-url>jdbc:db2:DB2</connection-url>
<driver-class>COM.ibm.db2.jdbc.app.DB2Driver</driver-class>
<user-name></user-name>
<password></password>
<min-pool-size>5</min-pool-size>
<metadata>
<type-mapping>DB2</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>

接着,通过修改 <JBoss>\server\default\conf\standardjaws.xml(或 jaws.xml)配置文件来设置 <datasource> 和 <type-mapping>。只有使用 CMP 1.1 entity Enterprise JavaBean(EJB)时才需要修改 standardjaws.xml/jaws.xml。现在,将 type-mapping 元素值设置为 DB2,这是用于 DB2 数据库的类型映射名。参见清单 2。

清单 2. standardjaws.xml

<jaws>
<datasource>java:/DB2DS</datasource>
<type-mapping>DB2</type-mapping>
</jaws>

修改 <JBoss>\server\default\confstandardjbosscmp-jdbc.xml(或 jbosscmp-jdbc.xml)配置文件,以设置 <datasource> 和 <datasource-mapping>。datasource 元素在 DB2 数据库中为 JDBC 配置指定数据源的 JNDI 名称,即 java:/DB2DS。将 datasource-mapping 值设置为用于 DB2 数据库的类型映射名;该类型映射是在 standardjbosscmp-dbc.xml/jbosscmp-jdbc.xml 配置文件中预先定义的(参见清单 3)。对于 DB2 数据库,该类型映射名就是 DB2。

清单 3. standardjbosscmp-jdbc.xml

<jbosscmp-jdbc>
<defaults>
<datasource>java:/DB2DS</datasource>
<datasource-mapping>DB2</datasource-mapping>
</defaults>
</jbosscmp-jdbc>

从 JBoss 服务器登录到 DB2 数据库需要 application-policyDB2DbRealm。将 <application-policy/> 元素添加到<JBoss>\server\default\conf\login-config.xml 中(参见清单 4)。现在,您已经使用 JBoss 配置了 DB2 数据库。

清单 4. login-config.xml

<application-policy name = "DB2DbRealm">
<authentication>
<login-module code ="org.jboss.resource.security.ConfiguredIdentityLoginModule"
flag = "required">
<module-option name = "principal"></module-option>
<module-option name = "userName"></module-option>
<module-option name = "password"></module-option>
<module-option name ="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=DB2DS
</module-option>
</login-module>
</authentication>
</application-policy>

用 JDeveloper 配置 DB2 UDB

Oracle JDeveloper 是一个集成的开发环境,用于建模、开发、调试、优化和部署 Java 应用程序和 Web 服务。这一节将解释如何配置使用 DB2 数据库的 JDeveloper 10g。首先,启动 JDeveloper 并检查其控制台(参见图 5)。

图 5. JDeveloper 10g 控制台
JDeveloper 10g 控制台

类路径(Classpath)中必须包含 DB2 驱动程序类,因此需要创建新的库,并将这个库添加到 Default Project Properties 中。选择 JDeveloper Console 中的 Tools>Default Project Properties,然后在 Default Project Properties 框架的导航框架中选择 Profiles>Libraries 节点。单击 New 按钮,为 DB2 驱动程序类创建新的库。#p#现在,为该库指定库名(Library Name)、位置(Location)和类路径(Classpath)(确保 Classpathe 字段中包含 db2java.zip 文件)。用于 DB2 数据库的 JDBC 驱动程序类放在 db2java.zip 文件中,它向 Selected Libraries 框添加了一个新的库。参见图 6。

图 6. 选择库
选择库

为了创建 JDBC 连接,需要选择 Connections-Navigator 选项卡(参见图 7)。选择 Connections>Database 节点,然后右击 Database 节点并选择 New Database Connection。

图 7. Database>New database connection
Database>New database connection

在 Type 框架中,指定连接名(参见图 8),将 Connection Type 设置为 Third Party JDBC Driver,并单击 Next 按钮。

图 8. 类型框架
类型框架

接着,在 Authentication 框架中指定 Username 和 Password,并单击 Next 按钮。在 Connection 框架中,单击 New 按钮来添加 Driver Class,然后在 Register JDBC Driver 框架中将 Driver Class 指定为 COM.ibm.db2.jdbc.app.DB2Driver,并将 Library 指定为 DB2(这是在 Tools>Default Project Properties 中配置的)。在 Connection 框架的 URL 字段中,将连接 URL 指定为 jdbc:db2:DB2,并单击 Next 按钮。参见 图 9。

图 9. 连接 URL
连接 URL

现在,在 Test 框架中,单击 Test Connection 按钮来测试与 DB2 数据库的 JDBC 连接。如果建立了到 DB2 数据库的连接,则会显示消息 Success!。单击 Finish 按钮来完成 JDBC 连接的配置。现在,Connection-Navigator 框架中添加了 JDBC 连接的一个节点。参见图 10。

图 10. 连接池节点
连接池节点

此外,Connections Navigator 中所配置的连接可以作为一个数据源用于 JSP 应用程序。例如,JDBC 连接 DBConnection1 可以用作数据源 jdbc/DBConnection1DS。如下列代码所解释的,可以获得来自数据源的连接:


InitialContext initialContext = new InitialContext(); javax.sql.DataSource ds = (javax.sql.DataSource) initialContext.lookup("java:comp/env/jdbc/DBConnection1DS"); java.sql.Connection conn = ds.getConnection();

结束语

请记住,用 JDeveloper IDE、WebLogic 应用服务器或 JBoss 应用服务器开发的数据库应用程序并不仅限于 Oracle 数据库或 Hypersonic 数据库。对数据库应用程序使用 DB2 UDB 的好处就是:可以通过配置第三方应用服务器和 DB2 UDB,从它们那里访问数据库应用程序。


原创粉丝点击