DB2如何实现远程连接

DB2如何实现远程连接,第1张

要理解编目我先简单讲下DB2数据库体系结构DB2数据库大概念系统(节点)也主机下面实例实例下面数据库表空间数据库对象现假设有数据库服务器p570机器上有客户端windowslinux或任何平台上现想建立客户端服务器端连接具体步骤呢?

第步:

db2

catalog

tcpip

node

p570

remote

172.10.10.10

server

50000

上面条命令p570节点名(机器上必须唯)remote面服务器IP地址server远程服务器上实例对应端口号DB2通过种方式本地SQLNODIR文件把远程服务器信息记录下来所编目节点其实把远程服务器映射本地通过SQLNODIR记录能够找远程服务器和实例类似指向远程服务器和实例地址指针

第二步:

当把远程服务器IP地址实例编目下来第二步应该把该实例下数据库编目本地

db2

catalog

db

REMOTEDB

at

node

p570

条命令REMOTEDB远程实例下数据库p570我们第步编目节点名

条命令执行会本地SQLDBDIR文件记录远程数据库信息里编目数据库理解把远程服务器实例下数据库映射本地别名

上面客户端和服务器同台机器上通过编目节点编目数据库来实现客户端连接服务器上数据库目连接同台机器上时候要显示编目节点服务器上当我们创建实例时候有隐含把实例本地编目过程假设p570上创建实例名db2inst1其实有隐含

db2

catalog

local

node

db2inst1

instance

db2inst1

system

p570

ostype

aix步骤同样当db2inst1下创建数据库MYDB时候有隐含编目(catalog)数据库步骤:

在DB2客户机上连接远程DB2服务之前,必须正确设置服务端通信协议。DB2支持的协议有TCP/IP、NetBIOS、NPIPE等。

连接远程DB2数据库服务的基本步骤如下:

1. 在客户机上对远程DB2节点进行编目。

2. 在客户机上对远程数据库进行编目。

一、第一步

首先在客户机上对远程节点进行编目,这里需要确认远程主机在客户机上的名称、IP地址、端口号等基本命令如下:

1. CATALOG TCPIP //编目一个TCP/IP节点

NODE local_node_name //远程主机在客户机上的别名

REMOTE hostname | IP //远程主机IP地址

SERVER service_name | posr_number // 服务名称 / 端口号

2. TERMINATE//刷新目录高速缓存

3. LIST NODE DIRECTORY//查看客户机目录节点

4. UNCATALOG NODE node_name //删除编目节点node_name

二、第二步

再对已编目的节点进行数据库编目,这里用户需要确认远程连接的数据库的名称、该数据库在本机上的别名、第一步设置的远程主机在客户机上的别名(即节点名)和设置认证方式。命令如下:

1. CATALOG DATABASE remote_db_name //远程数据库名称

AS local_db_name //本地数据库别名

AT NODE local_node_name//本地数据库节点别名(第一步中配置)

2. TERMINATE//刷新目录高速缓存

3. LIST DB DIRECTORY //查看本地数据库目录

4. UNCATALOG DB db_name //删除数据库编目db_name

三、第三步

连接远程数据库,使用第二步中设置的本地数据库别名来连接。命令如下:

CONNECT TO local_db_name //利用本地数据库别名连接远程数据库

USER userid//用户ID

USING password //登陆密码

1.首先把自己编辑好的SQC文件(如:test.sqc)放在指定的目录下。

2.正式开始编译前,需要和DB2数据库(如:TESTDB)建立连接。

以linux环境为例,在命令行状态下,输入:db2

connect

to

TESTDB

3.调用DB2的prep命令对SQC文件进行预编译,用来生成C文件。

在命令行状态下,输入:db2

prep

test.sqc

BINDFILE

package

using

bindtest

说明:

上述命令中的“BINDFILE”是用来指定在做预编译的同时生成bind文件的(如:bindtest.bnd)

上述命令中的“package

using

bindtest”是用来指定将要写入到DB2的系统表中的package信息的名称(如:bindtest)。

bind文件里记载的是用来写入到package信息的数据。

4.调用DB2的bind

命令从上一步生成的bind文件中读出必要的数据写入到上一步指定名称的package信息中。

并可以给这条信息指定访问权限。

以linux环境为例,在命令行状态下,输入:db2

bind

ConnTEST.bnd

GRANT

PUBLIC

5.到目前为止可以说与DB2相关的所有预编译就基本完成了,我们需要的C文件(如:test.c)也整成生成了,那个bind文件后边暂时不会用到了。

下来就可以调用CC或GCC之类的C代码编译器对这个C文件进行编译,基本的过程是test.c→test.o→test。这样我们就可以执行这个最终的可实行程序了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/9033707.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-24
下一篇 2023-04-24

发表评论

登录后才能评论

评论列表(0条)

保存