电脑技术学习

DB2提供的两种DB连接方式type1和type2

dn001

DB2提供的两种DB连接方式type1和type2:

在type1连接中connect将断开已连接好的数据库,一个事务只能连接一个库

在type2连接中connect保留已连接好的数据库,并连接一个新库,这样的事务叫分布式工作单元

两种方式都不允许AP同时对一个DB进行多次连接!

以下是偶在CLP下做的type2的实验:

QUOTE:

$ db2 list applications


授权标识 应用程序名 应用程序 应用程序标识 DB 代理进程


句柄 名称 序列号

-------- -------------- ---------- ------------------------------ -------- -----


DB2ADMIN db2dasstm.exe 10 *LOCAL.DB2.00A180010035 DWCTRLDB 1


DB2ADMIN db2dasstm.exe 9 *LOCAL.DB2.00A180010034 DWCTRLDB 1


DB2ADMIN db2dasstm.exe 8 *LOCAL.DB2.00A180010020 DWCTRLDB 1

$ db2 connect to otherdb


数据库连接信息


数据库服务器 = DB2/NT 8.1.2

SQL 授权标识 = DAVID

本地数据库别名 = OTHERDB


$ db2 connect to sample


数据库连接信息


数据库服务器 = DB2/NT 8.1.2

SQL 授权标识 = DAVID

本地数据库别名 = SAMPLE

$ db2 list applications


授权标识 应用程序名 应用程序 应用程序标识 DB 代理进程


句柄 名称 序列号

-------- -------------- ---------- ------------------------------ -------- -----


DAVID db2bp.exe 22 *LOCAL.DB2.012480161735 SAMPLE 1


DB2ADMIN db2dasstm.exe 10 *LOCAL.DB2.00A180010035 DWCTRLDB 1


DB2ADMIN db2dasstm.exe 9 *LOCAL.DB2.00A180010034 DWCTRLDB 1


DB2ADMIN db2dasstm.exe 8 *LOCAL.DB2.00A180010020 DWCTRLDB 1

$ db2 set client connect 2

DB20000I SET CLIENT 命令成功完成。


$ db2 connect to otherdb


数据库连接信息


数据库服务器 = DB2/NT 8.1.2

SQL 授权标识 = DAVID

本地数据库别名 = OTHERDB

$ db2 list applications


授权标识 应用程序名 应用程序 应用程序标识 DB 代理进程


句柄 名称 序列号

-------- -------------- ---------- ------------------------------ -------- -----


DAVID db2bp.exe 23 *LOCAL.DB2.012480161849 OTHERDB 1


DAVID db2bp.exe 22 *LOCAL.DB2.012480161735 SAMPLE 1


DB2ADMIN db2dasstm.exe 10 *LOCAL.DB2.00A180010035 DWCTRLDB 1


DB2ADMIN db2dasstm.exe 9 *LOCAL.DB2.00A180010034 DWCTRLDB 1


DB2ADMIN db2dasstm.exe 8 *LOCAL.DB2.00A180010020 DWCTRLDB 1


以上测试没测试事务提交,如果测试,要把command option的自动提交关掉,就可以测试一个事务中的多个DB的连接和修改!另外type2的连接有三种方式:syncpoint onephase(默认)、syncpoint twophase、syncpoint none。


使用type2连接,可以在一个命令窗口里打开多个连接,但是在执行操作的时候只对最后一个连接有效。如果想切换可以使用set connection ;