IBM Inforsphere Federation v10.1中“三部分名字”的支持

联邦数据库三部分名字简介

联邦数据库使用昵称访问和管理远程数据源,每一个昵称对应着远端数据源的一个对象。不过,在一个大型联邦数据库环境中,每一个远端数据源服务器上都包含了大量的数据库对象(例如:表,试图等),用户需要为每一个远端对象创建一个昵称。在这样的环境下,创建昵称就成了一件非常繁琐的事情。另外,管理这些昵称也加重了用户的管理工作。

为了解决这个问题,在联邦数据库最新版本 V10.1 中引入了一种全新的解决方法—“三部分名字”。简单的说,就是在创建了包装器、服务器以及用户映射的基础上,允许用户使用“server.schema.table_name”或“schem.table_name@server”形式的三部分名字,直接访问和管理远程数据源的数据。这样就大大节省了用户在创建和管理昵称上的繁琐工作。

相对于昵称而言,使用三部分名字时,联邦数据库在第一次通过 SQL 引用远程数据库对象时,联邦数据库将获取到远程数据库对象的元数据和状态信息(比如,统计信息),并且将这些信息保存在缓存中。用户将不再需要管理和维护联邦数据库中的编目表。

另外,利用“schema.table_name@server”引用远程对象的方式,实际上是和 Oracle 的 Query Gateway 是兼容的。利用这种三部分名字,用户可以直接将 Oracle Query Gateway 上的应用移植到联邦数据库上。

三部分名字的用法

本节中我们将详细介绍如何使用三部分名字进行查询和更新。

和昵称一样,在使用三部分名字前,仍然需要创建包装器、服务器、用户映射,具体步骤如下。

1)创建包装器(例子中的语句用于 Linux 和 Solaris):

清单 1. 创建包装器的命令

CREATE WRAPPER ctlib;
CREATE WRAPPER drda;
CREATE WRAPPER odbc OPTIONS (MODULE '/opt/lib/odbc.so');

2)创建服务器:

清单 2. 创建服务器的命令

CREATE SERVER sybase_server1 TYPE sybase VERSION 15.5 WRAPPER ctlib OPTIONS(
NODE 'sybase_node', DBNAME 'sybase_db');

CREATE SERVER drda_server1 TYPE db2/cs VERSION 10 WRAPPER drda OPTIONS (
node 'udb_node');

CREATE SERVER odbc_server1 TYPE odbc VERSION 4.0 WRAPPER odbc OPTIONS (
NODE 'odbc_node', DBNAME 'venice');

3)为服务器创建 DB2 用户和数据源用户之间的映射:

清单 3. 创建用户映射的命令

CREATE USER MAPPING FOR user SERVER sybase_server1 OPTIONS (
REMOTE_AUTHID 'sybase_usr', ENABLE_KERBEROS_CONNECTION 'Y');

CREATE USER MAPPING FOR user SERVER drda_server1 OPTIONS (
REMOTE_AUTHID ' drda_usr', REMOTE_PASSWORD ' drda_pw');

CREATE USER MAPPING FOR user SERVER odbc_server1 OPTIONS (
REMOTE_AUTHID 'mssql_usr', REMOTE_PASSWORD 'mssql_usr');

4)创建远端对象(需要直接在远端数据源执行):

清单 4. 创建远端对象的命令

-- 创建远端 SYBASE 对象
-- 表 syb_tb1 记录雇员的基本信息 : ID, NAME, AGE
CREATE TABLE syb_tb1(COL_ID int,
                   COL_NEMA char(20),
                   COL_AGE  int
                   );

-- 表 syb_tb2 记录雇员的工作信息 : ID,DEP, JOB
CREATE TABLE syb_tb2(COL_ID int,
                   COL_DEP char(20),
                   COL_JOB char(20)
                   );

-- 创建远端 UDB 对象
-- 表 drda_tb1 记录雇员地址信息 : ID,ADDRESS
CREATE TABLE drda_tb1(COL_ID int,
                   COL_ADDRESS  char(100)
                   );

-- 表 drda_tb2 记录雇员电话信息 : ID,PHONE
CREATE TABLE drda_tb2(COL_ID int,
                   COL_PHONE int(20)
                   );

-- 创建远端 MSSQL 对象
-- 表 msq_tb1 记录雇员的简历:ID,RES
CREATE TABLE msq_tb1(COL_ID int,
                   COL_RES CHAR(2000)
                   );

注意,如果用户需要用 schema.table_name@server 形式的三部分名字,则需要将 db2set 注册变量 DB2_COMPATIBILITY_VECTOR 的第 18 位设为 1:

清单 5. 设置 db2set 注册变量

db2set DB2_COMPATIBILITY_VECTOR=10000;
db2stop;
db2start;

-- 或者将其设为 ORA:
db2set DB2_COMPATIBILITY_VECTOR=ORA;
db2stop;
db2start;

完成了上述步骤后,我们就可以使用三部分名字访问远程数据了!下面是使用三部分名字的实例。

使用三部分名字查询更新远程数据实例

下面列出了使用三部分名字的实例,从中可以看到三部分名字的一般用法。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, 对象
, 用户
, 名字
, create
, 部分
, 数据部分
部分数据
ibm技术支持电话、ibm技术支持、ibm支持、ibm技术支持待遇、ibm英语技术支持,以便于您获取更多的相关知识。

时间: 2024-08-13 23:56:55

IBM Inforsphere Federation v10.1中“三部分名字”的支持的相关文章

设计实例分析:白社会中三个较小的设计点

今天,3月21日,世界睡眠日,恰巧是个周末,劳累了一周的大家有没有在家里睡懒觉呢~提醒大家,关注睡眠质量就是关注生活质量,关注睡眠就是关注健康. 好了,回到正题,在前作(一)和(二)中谈到了真心话和任务的设计,这次谈谈白社会中三个较小一点的设计点. 一.好友新鲜事新增提醒 在白社会的首页中,分量最重的就是这个好友新鲜事了,为了保证信息流的快速直接,我们采用了"推"的模式,并且直接即时的将信息推到用户的面前,这就是所谓的实时Feed了,这其实是一种非常酷的体验,信息获取快速直接,也省了刷

在 IBM Business Process Manager V8 中部署流程应用程序

关于本教程 本教程介绍了如何安装或部署流程应用程序,并管理它们.流程应用程序生命周期包括安装.管理和撤销部署快照.虽然版本控制的考虑因素也是生命周期的一部分,但本教程中并不包含它们. 在开发流程时,您可以在 Process Designer 中充分利用各工具所支持的迭代方法.同样,使用 IBM Integration Designer(以下简称 Integration Designer),您可以同步和部署到 Process Center,或选择导出应用程序文件,并将它安装到 Process Se

代码要实现这个效果 activity中三个fragment..............

问题描述 代码要实现这个效果 activity中三个fragment.............. 点击上方 三个表头 对应下方fragment刷新UI(数据都不一样) 解决方案 Fragment实现tabhost的效果Fragment实现Tabhost效果(未完)android-activity中fragment实现分页 解决方案二: 这个UI布局最好是在一个activity中添加五个fragment,对应底部的五个按钮,然后再fragment中嵌套fragment

android-《第一行代码》酷欧天气开发中三个问题求解答

问题描述 <第一行代码>酷欧天气开发中三个问题求解答 问题1,如何复制.git这个隐藏目录问题2,为何git push origin master会出现一系列错误问题3,为何我在com.coolweather.app下创建不了包,会提示package already exsists说明只能在src目录下创建,这和书中说的不一样 解决方案 问题三我也遇到了,解决方案:在一个包下在新建其他包:1.1首先更改 1.2.添加包,注意包名命名方式: 1.3.结果如图: 1.4.再新建其他的包: 1.5.

iOS中CoreData数据管理系列二——CoreData框架中三个重要的类

iOS中CoreData数据管理系列二--CoreData框架中三个重要的类 一.引言     在上一篇博客中,介绍了iOS中使用CoreData框架设计数据模型的相关步骤.CoreData框架中通过相关的类将数据--数据模型--开发者无缝的衔接起来.NSManagedObjectModel对应数据模型,即上篇博客中我们创建的.xcdatamodeld文件:NSPersistentStoreCoordinator相当于数据库与数据模型之间的桥接器,通过NSPersistentStoreCoord

JavaScript中三个等号和两个等号的区别(== 和 ===)浅析_javascript技巧

== equality 等同,=== identity 恒等. ==, 两边值类型不同的时候,要先进行类型转换,再比较. ==,不做类型转换,类型不同的一定不等. 下面分别说明: 先说 ===,这个比较简单.下面的规则用来判断两个值是否===相等: 1.如果类型不同,就[不相等] 2.如果两个都是数值,并且是同一个值,那么[相等]:(!例外)的是,如果其中至少一个是NaN,那么[不相等].(判断一个值是否是NaN,只能用isNaN()来判断) 3.如果两个都是字符串,每个位置的字符都一样,那么[

SQL Server连接中三个常见的错误分析_MsSql

SQL Server连接中三个常见的错误分析 一."SQL Server 不存在或访问被拒绝"  这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多. 一般说来,有以下几种可能性: 1.SQL Server名称或IP地址拼写有误 2.服务器端网络配置有误 3.客户端网络配置有误 要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因. 首先,检查网络物理连接  ping <服务器IP地址/服务器名称> 如果 ping <服务器IP地址> 不

android AsyncTask后面的泛型中三个类型参数是什么意思?顺序可以变么?

问题描述 android AsyncTask后面的泛型中三个类型参数是什么意思?顺序可以变么? android AsyncTask后面的泛型中三个类型参数是什么意思?顺序可以变么? 解决方案 根據做過的Project,顺序不可以变 解决方案二: 必须不可以,分别是传入参数类型,中间参数类型和传出参数的类型

DB2 LUW V10.1中多温度存储管理的特性说明

DB2 LUW V10.1 中引入了多温度http://www.aliyun.com/zixun/aggregation/14290.html">存储管理的特性,通过该特性,用户可以根据数据访问的频度来决定存放的存储设备,从而充分发挥各种存储设备的特长,使系统性能达到最优. 在用户数据不断爆炸增长的今天,对于数据库中存储数据所用设备的要求也不断提高,要求设备容量越来越大,速度越来越快.随着技术的不断进步和发展,为了满足这些需求,存储设备的种类不断增加,各类存储设备也不断更新换代.在已有的存