|
【赛迪网-it技术报道】db2提供的两种db连接方式type1和type2:
style="text-indent:2em">
在type1连接中connect将断开已连接好的数据库,一个事务只能连接一个库
在type2连接中connec保留已连接好的数据库,并连接一个新库,这样的事务叫分布式工作单元
两种方式都不允许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 ;
|