快速业务通道

构建跨越联合数据的实体EJB - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
该过程部分自动化。这里,我们将描述后一种选择。

DB2的联合技术以关系 DBMS的SQL 数据定义语言(DDL)透明性为特色。这意味着可以使用 DB2的CREATE TABLE .... OPTIONS 语法用一条语句执行两个独立的任务:在期望的远程数据源处创建一个表,并创建该表对应的DB2 别名。使用 DDL 透明特性可简化您的工作,因为 DB2 会执行任何必需的SQL 转换来正确地构造远程表;您不需要学习该数据源特定的SQL 语法来创建有效的表。我们将使用这一 DDL 透明特性在远程数据源处创建一个新的表,并为该表创建新的别名,该别名最终将由 CMP 实体 bean 使用。

开发这样的CMP 实体 bean 要遵循以下步骤:

切换至 J2EE 透视图。如有必要,可以按照 WSADIE的标准过程为您的实体 bean 创建一个 EJB 项目。

按照标准过程创建 CMP 实体 EJB。

用您打算创建的别名给 bean 命名。

添加对应于别名中各列的属性,要注意为每个属性指定适当的数据类型,并且要将适当的属性指定为键字段(它应映射到别名的主键列)。再次提醒,属性名应与列名对应。

构建跨越联合数据的实体EJB(4)

时间:2011-01-28 IBM C.M. Saracco

调用 EJB 数据建模向导并选择自顶向下建模。

突出显示您的EJB,在其上单击鼠标右键,然后选择 Open With -> Mapping Editor。选择 top-down modeling。

单击 Next,确保数据库名与模式名设置正确。数据库名应映射到 DB2 客户机知道的联合数据库(在我们的环境中,它是 djdb )。模式名应映射到已授权的联合数据库用户(在我们的环境中,它是 user1 )。

保持 Generate DDL 框为选中,然后单击 Finish。

验证 EJB 到数据库的映射是否成功完成

突出显示您的EJB,在其上单击鼠标右键,然后选择 Open With -> Mapping Editor。

检查 Tasks 面板以确保没有出现过错误报告。

将 EJB 绑定到先前为联合数据库创建的适当数据源。

突出显示您的EJB,在其上单击鼠标右键,然后选择 EJB Quick Links -> Bind Data Source。

在面板的Datasource 区域输入有效的JNDI 名、用户名和密码。例如,在我们的测试环境中,我们输入 jdbc/Federated 作为 JNDI 名,输入 user1 作为用户名,以及输入 pass1word 作为密码。

保存您的更改( Control-S),然后关闭编辑器。

照常为 bean 生成部署代码(突出显示您的EJB,在其上单击鼠标右键,然后选择 Generate Deploy Code)。

在部署并试图测试 bean 以前,创建别名和远程数据对象。请检查 WSADIE 生成的Table.ddl 文件。在 J2EE 透视图的Navigator 面板中在您的bean 项目名称下可以找到该文件。展开 ejbModule -> META-INF -> Schema来查看该文件。该文件为您将要生成的DDL 提供了一个良好的起点。以下列方式修改生成的DDL:

除去 CREATE SCHEMA 语句。

修改 CREATE TABLE 语句,以便在列的级别定义主键约束。例如,如果语句最初显示为

CREATE TABLE MYTABLE (COL1 INT,             COL2 INT)

那么将该语句修改成与下面相似的语句

CREATE TABLE SCHEMANAME.MYTABLE   (COL1 INT PRIMARY KEY NOT NULL,    COL2 INT)

向 CREATE TABLE 语句添加 OPTIONS 子句,从而指定远程服务器和远程模式信息。远程服务器必须引用您在配置期间在 CREATE SERVER 语句中指定的数据源名。远程模式名必须与数据源处的有效模式名对应,该名称通常为您在配置期间在 CREATE USER MAPPING 语句中指定的REMOTE_AUTHID。例如,对于我们的环境配置,可以向 CREATE TABLE 语句添加一个 OPTIONS 子句,如下所示:CREATE TABLE SCHEMANAME.MYTABLE   (COL1 INT PRIMARY KEY NOT NULL,    COL2 INT)    OPTIONS (REMOTE_SERVER ''ORACLE8'',        REMOTE_SCHEMA ''OR

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号