编目(Catalog),是在本地或远程建立客户端到服务器的数据库连接的过程。其目的在于获取编目信息,即生成用来访问数据库的目录。系统数据库目录包含一个列表和指针,通过目录可以使 DB2 能够找到已知的数据库,无论它们是在本地系统上,还是在远程系统上。如果没有编目信息,应用程序就无法连接数据库,所以在使用 DB2 时必须要先进行编目。

个人理解就是将server端有关数据库的相关信息加载到本地。为什么要这样做呢?原因是部署后的数据库肯定是装在服务器端,这个数据库可能在另外一个城市,现在要操作这个远程数据库,就需要连接到远程的数据库。而且要通过一定方式把远程数据库信息“拿”到本地来。这一过程即为编目(catalog)。

可以使用CA工具,按照向导一步一步执行。下面介绍另外两种方法,命令行方法和使用CC工具:

编目包括以下两个过程:

1、将服务器映射到客户端,即编目节点。

通过编目节点,DB2在本地的SQLNODIR文件中把远程服务器的信息记录下来,所以编目节点其实就是把远程服务器映射到本地,通过SQLNODIR中的记录能够找到远程服务器和实例,类似指向远程服务器和实例的地址指针。

2、将服务器实例下的数据库映射到客户端,即编目数据库。

编目数据库后,在本地SQLDBDIR文件中记录远程数据库的信息。这里编目数据库可以理解为把远程服务器实例下的数据库映射到本地为一个别名。

一、节点编目

方法一:命令执行方法

使用CLP、CW或命令行编辑器,输入节点编目命令:

db2 catalog tcpip node node_name remote server_ip server server_port

l     node_name:所要编目的节点名,任意起。节点名在一台机器上必须是唯一的,不能跟已有的节点名重复。(可通过db2 list node directory查看)可输入纯字母或字母与数字的组合,字母不区分大小写。注意不能命名为“DB2”,且不支持特殊字符。节点目录用于存储远程数据库的所有连通性信息。

l     server_ip:所要编目的服务器IP地址。

l     server_port:所要编目的服务器端口号,默认为50000。

方法二:CC执行方法

通过“控制中心”对DB2进行节点编目。需要两个过程:服务器节点编目与服务器下实例的节点编目。

1、服务器节点编目

右键单击控制中心左侧目录树中的“所有系统”,选择“添加”项。在弹出的“添加系统”对话框内,对所要连接服务器的系统类型、系统名称、主机名、节点名、操作系统、连接协议及注释进行设置。在对服务器系统名称和主机名进行设置时,可以通过单击系统名称右侧的“发现”按钮进行搜索,选择需要连接的服务器系统。“确定”后完成服务器在客户端的映射。

2、服务器下实例的编目

右键点击所添加的服务器下的“实例”节点,选择“添加”项,在弹出的“添加实例”对话框中对目标数据库所在的实例名称、实例节点名、操作系统、连接协议、主机名及端口号进行设置。“确定”后完成服务器下实例在客户端的映射。

二、数据库编目

方法一:命令执行方法

使用CLP、CW或命令行编辑器,输入数据库编目命令:

db2 catalog db db_name as db_alias at node node_name

l     db_name:所要编目的数据库名称。

l     db_alias:数据库编目到客户端所用的别名。

l     node_name:所要编目的数据库所在的节点名。

方法二:CC执行方法

通过“控制中心”对DB2进行数据库编目。右键点击服务器实例下的“数据库”,选择“添加”选项,在弹出的“添加数据库”对话框中设置数据库名称、别名等。点击“确定”完成数据库在客户端的映射。

DB2 - 编目的解释的更多相关文章

  1. DB2错误码解释对照

    表 2. SQLSTATE 类代码 类  代码    含义 要获得子代码,  参阅...  00 完全成功完成 表 3  01 警告 表 4  02 无数据 表 5  07 动态 SQL 错误 表 6 ...

  2. 【DB2基础】DB2编目和数据库连接

    1.编目节点和编目数据库 编目(Catalog),是在本地或远程建立客户端到服务器的数据库连接的过程.其目的在于获取编目信息,即生成用来访问数据库的目录. 系统数据库目录包含一个列表和指针,通过目录可 ...

  3. db2编目抽取

    最近迁移DB2数据库从AIX到Linux平台:需要整理所有服务器编目,服务器有aix和linux,手动整理肯定较慢切容易出错,下面写脚本解决. 策略: 1.编写脚本提取服务器编目的脚本,编目信息保存到 ...

  4. DB2编目配置及管理

    打开命令:db2cmd 我一般打开的方式如下:                       (在db2)                                                 ...

  5. DB2 编目并访问远程数据库

    之后将逐步对项目上的DB2相关经验做个总结,梳理一下知识结构. 要远程操作数据库,首先要进行编目,分三个步骤: 1. 在客户端建立服务器端数据库的节点,编目远程节点. 格式如下: 1. CATALOG ...

  6. DB2 错误信息码

    000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 +098 01568 动态SQL语句用分号结束 +1 ...

  7. DB2 SQLCODE 大全

    DB2错误信息sqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 ...

  8. DB2中错误信息说明

    DB2错误信息SQLCODE SQLSTATE (按sqlcode排序) .分类: db2数据库 2012-10-19 11:35 2942人阅读 评论(0) 收藏 举报 db2sql存储table数 ...

  9. db2常用命令大全

    #显示这个DB2错误的解释信息(SQLSTATE 5位数字)db2 ? 42704 #显示这个SQLCODE的解释信息(SQLCODE 四位数字) db2 ? SQL0204N ##查看数据库指定配置 ...

随机推荐

  1. Find out when memory leaks are a concern and how to prevent them

    Handling memory leaks in Java programs Find out when memory leaks are a concern and how to prevent t ...

  2. aop学习总结二------使用cglib动态代理简单实现aop功能

    aop学习总结二------使用cglib动态代理简单实现aop功能 模拟业务需求: 1.拦截所有业务方法 2.判断用户是否有权限,有权限就允许用户执行业务方法,无权限不允许用户执行业务方法 (判断是 ...

  3. smod包含具体的增强(具体实施对象) / CMOD 包含一组smod编写的增强

    从标题来看,CMOD 是树木,smod 是树枝. 1.1 SMOD包含具体的增强,而CMOD是包含一组SMOD编写的增强. 1.2 User exits (Function module exits) ...

  4. Nodejs通过Thrift操作hbase卡住原因分析及与javascript的垃圾回收机制的关系

    在最近使用Nodejs通过Thrift操作hbase的时候写了个脚本,不断发送http请求,从而取得hbase下所需的数据,但是在run的过程中for循环并没有执行完全,在执行一部分后会卡住,就再也进 ...

  5. (转)findViewById 返回为null (自定义控件)

    一.自定义控件 findViewById返回为null 首先讲一个具体的问题,这几天在做demo时,写了一个自定义组合控件,最后在run的时候显示这两行报错.原先还以为是setOnClickListe ...

  6. Windows消息类型及说明

    WM_ Window Message 窗口消息,一般用在SendMessage,PostMessage这样的消息函数中 SM_ Static Message 静态标签消息 SS_ Static Sty ...

  7. JavaWeb项目里面的路径获取方法总结

    仅为资源搬运,个人还未充分理解... request.getRealPath不推荐使用request.getRealPath("") 这个方法已经不推荐使用了 request.ge ...

  8. CSU - 1547 Rectangle —— DP(01背包)

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1547 题解: 关键是怎么处理长度为1的长方形.当长度为1的长方形的个数cnt> ...

  9. jinja 多值合并

    示例 {% for node in groups["db"] %} {{ node | join("") }}:5672 {% if not loop.last ...

  10. #pragma once与#ifndef

    都是为了避免同一个头文件被包含多次.在编译器对这两种方式都支持的情况下,区别很小. 方式一: #pragma once ...//这里放声明语句 方式二: #ifndef 宏名 #def 宏名 ... ...