远程连接db2数据库

在db2数据库中,需要理解catalog(编目)这个概念,理解前先说下db2数据库的体系结构:由系统(节点)也就是主机,下面是实例,实例下面是数据库,然后是表空间,再是数据库对象。现在假设你有一个数据库服务器建立在MDMNODE1 的机器上,你有一个客户端在windows、linux或任何平台上,你现在想建立一个客户端到服务器端的连接,具体步骤如下:

<第一步>

要在客户端的机器上能够把远程的服务器能够识别出来,怎么做?

在DB2使用编目(catalog)方式,具体来说就是通过编目把远程的服务器写在本地客户端的一个文件中:

例:(注:例为项目中真实情况改编)

(附:

[[email protected] ~]# cd /home
[[email protected] home]# ls
dasusr1 db2fenc1 db2inst1 GetSysInfo.jar helloword.war mdmappserver01
[[email protected] home]# su - db2inst1
[[email protected] ~]$ cd /home

[[email protected] home]$ db2 catalog tcpip node MDMNODE1 remote 192.168.124.163 server 60006

命令注释:MDMNODE1 是一个节点名(在一个机器上必须是唯一的),remote后面是服务器的IP地址,server是远程服务器上实例对应的端口号。DB2通过这种方式在本地的SQLNODIR文件中把远程服务器的信息记录下来,所以编目节点其实就是把远程服务器映射到本地,通过SQLNODIR中的记录能够找到远程服务器和实例,类似指向远程服务器和实例的地址指针。

查看:

[[email protected] home]$ db2 list node directory

 Node Directory

 Number of entries in the directory = 1

Node 1 entry:

 Node name                      = MDMNODE1
 Comment                        =
 Directory entry type           = LOCAL
 Protocol                       = TCPIP
 Hostname                       = 192.168.124.163
 Service name                   = 60006

  

<第二步>

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

[[email protected] home]$ db2 catalog db mdmdb at node mdmnode1
DB20000I  The CATALOG DATABASE command completed successfully.
DB21056W  Directory changes may not be effective until the directory cache is
refreshed.

命令注释:mdmdb 是远程实例下的数据库,mdmnode1是我们在第一步中编目的节点名 

然后查看:

[[email protected] home]$ db2 list db directory

 System Database Directory

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = MDMDB
 Database name                        = MDMDB
 Node name                            = MDMNODE1
 Database release level               = 10.00
 Comment                              =
 Directory entry type                 = Remote
 Catalog database partition number    = -1
 Alternate server hostname            =
 Alternate server port number         =

接下来试着连接:

[[email protected] home]$ db2 list tables    就能看到当前数据库下的所有表了

总结:

上面是客户端和服务器不在同一台机器上,是通过编目节点,编目数据库来实现客户端连接到服务器上数据库的目的!

如果是连接在同一台机器上,那么此时不用显示编目节点,但是在服务器上当我们创建一个实例的时候,有一个隐含的把实例在本地编目的过程,假设在p570上创建一个实例名为db2inst1,其实有一个隐含的

  db2 catalog local node db2inst1 instance db2inst1 system p570 ostype aix的步骤,同样当你在db2inst1下创建一个数据库MYDB的时候,有一个隐含的编目(catalog)数据库的步骤:

  db2 catalog db mydb at node db2inst1的步骤。

至此你可以这样理解编目(catalog),编目就是在本地或远程建立客户端到服务器的数据库连接的目的。

参考文献:如何远程连接db2数据库

DB2使用命令行连接远程数据库(+使用CoolSQL连接DB2)

  

  

  

时间: 2024-12-16 09:51:18

远程连接db2数据库的相关文章

navcat无法远程连接mysql数据库解决办法

navcat无法远程连接mysql数据库,一般都是因为本地ip没有访问权限,服务器上执行下面指令即可解决 mysql -u root -p GRANT ALL PRIVILEGES ON *.* TO 'mysql数据库用户名'@'本地ip' IDENTIFIED BY 'mysql数据库密码' WITH GRANT OPTION; flush privileges;

Navicat for mysql 远程连接 mySql数据库10061、1045错误问题 (转)

远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是由于MySQL不准许远程连接. 修改方法如下: 1:在服务端MySQL文件夹下找到my.ini文件.修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 (在MySQL 5的my.ini中未发现此项) 2:重新启动MySQL服务. 测试连接情况: 如果没有给

C#远程连接Oracle数据库(通过System.Data.OracleClient)

在.NET中使用System.Data.OracleClient库连接Oracle数据库的步骤 1.下载并安装Instant Client Instant Client可以在Oracle官方网站下载到 对于Windows,Instant Client有三种版本: 1)适用于 Microsoft Windows(32位)的 Instant Client 2)适用于 Microsoft Windows(64位)Itanium的 Instant Client 3)适用于 Microsoft Windo

Windows操作系统下远程连接MySQL数据库

用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是上网搜索发现,mysql 数据库默认的连接只能在本机连接,远程连接必须授权. 远程连接权限配置: 进到你的MySQL\MySQL Server 5.5\bin文件夹下(注:Windows操作系统下doc命令进入) C:\Program Files\MySQL\MySQL Server 5.5>cd

c#连接db2数据库

.net项目要连接db2数据库,是要安装客户端的,否则是连接不上的: 若出现“未在本地计算机上注册‘ibmdadb2’提供程序” 解决办法: 1.先找到安装后的ibmdadb2.dll文件复制到c:\windows\system32或syswow64下 然后在运行中输入 regsvr32 ibmdadb2.dll,注册成功 2.要是在64位系统上安装的是32位的db2数据库,则在vs2010调试平台上改成x86 ,否则还是会出现这个错误

Windows7下PL/SQL配置远程连接Oracle数据库

PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用.同时,PL/SQL也是一种程序语 言,叫做过程化SQL语言(Procedural Language/SQL).PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL 语句的使用上增加了编程语言的特点.PL/SQL只有Oracle数据库有,Mysql目前不支持PL/SQL. 由于工作关系,最近需要操作SQL语句,数据库是Oracle10g.操作数据库总不能直接在服务器上操作吧,一般都是 远程,所以找

PLSQL Developer工具远程连接Oracle数据库的方法

Oracle数据库安装过程较为繁琐,而且卸载更加麻烦,如果卸载不干净,下次安装Oracle就不会成功.下面就为大家介绍一种不用安装Oracle客户端而利用PLSQL Developer工具远程连接Oracle数据库的方法. 首先需要在Oracle官网上下载这个软件:instantclient-basic-win32. 然后解压,打开这个文件,在里面新建一个文件:NETWORK,在NETWORK中新建一个文件夹:ADMIN,在ADMIN中新建一个文件:tnsnames.ora.在tnsnames.

Navicat for mysql 远程连接 mySql数据库10061、1045错误

用navicat连接远程的mysql数据报错: 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061.1045错误或 2003-Can't connect to MySQL on '192.168.1.2'(10061),这个原因是因为MySQL不准许远程连接. 最简单的办法是 MySQL远程配置 代码如下 复制代码 GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY '

VBS连接DB2数据库

VBS连接数据库,参考了点资料 '建立连接Dim Cnn '定义数据库连接串 Set Cnn = CreateObject("ADODB.Connection") sql="DSN=*;DATABASE=*;PWD=*;SERVER=*;UID=*"Cnn.ConnectionString = sqlCnn.Open '打开数据库连接 If Cnn.State <> 0 Then '判断数据库连接是否成功 WScript.echo "数据库连接