此文章主要向大家讲述的是DB2数据库提供的2种DB连接方式type1与type2,在type1连接中connect 将断开已连接好的DB2,其一个事务只允许连接一个库,在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 ;
【编辑推荐】