WEB开发网
开发学院软件开发Java 构建跨越联合数据的实体 EJB 阅读

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

 2009-11-07 00:00:00 来源:WEB开发网   
核心提示: 创建跨越多个数据源的 CMP 实体 bean联合 DBMS 技术一个特别有趣的方面在于它能表示来自多个远程数据源的数据,就好象该数据是单一的本地管理的对象的一部分,构建跨越联合数据的实体 EJB(10),管理员可以创建这样的视图:视图可以连接或合并来自多个表(或其它数据表现形式)的数据,而这些表

创建跨越多个数据源的 CMP 实体 bean

联合 DBMS 技术一个特别有趣的方面在于它能表示来自多个远程数据源的数据,就好象该数据是单一的本地管理的对象的一部分。管理员可以创建这样的视图:视图可以连接或合并来自多个表(或其它数据表现形式)的数据,而这些表驻留在由不同供应商制造的多个数据服务器上。对于 EJB 程序员来说,这提供了新的数据建模机会。可以较容易地构建单个 CMP 实体来跨越多个数据源。由于关系 DBMS 常见的视图更新约束,这样的 bean 本质上是只读的,尽管如此,它们仍然提供了通过标准 EJB 技术集成全异数据的方法。在本节中,我们将讨论程序员如何用 WSADIE 通过三个步骤来构建这样的 bean:

步骤 1:根据别名创建视图

步骤 2:为视图创建 CMP 实体 bean

步骤 3:修改生成的代码

步骤 1:根据别名创建视图

同任何关系 DBMS 一样,DB2 使管理员能够创建跨越多个表的数据视图。DB2 的联合数据库技术扩展了视图的能力,因而它们可以包含来自多个服务器以不同本机格式存储的数据。要构建这样的视图,首先要为远程数据对象创建期望的别名。然后使用 SQL 创建一个连接或合并这些别名的视图。

在我们的环境中,我们利用 DB2 的 DDL 透明特性在 Oracle 和 SQL Server 数据库中创建表,并在我们的 DB2 联合数据库中创建这些表的别名。

我们发出以下语句: create table orarest ( 
 id int primary key not null, 
 name varchar(20), 
 cuisine varchar(20), 
 budget int) 
 options (remote_server 'ORACLE8', 
     remote_schema 'ORACLEUSER1') 
 
create table msrest ( 
 id int primary key not null, 
 name varchar(20), 
 cuisine varchar(20), 
 budget int) 
 options (remote_server 'MSSQL', 
     remote_schema 'MSUSER1')

上一页  5 6 7 8 9 10 

Tags:构建 跨越 联合

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接