DB2中的type-2 connect
正常情况下,一个事务只能跑在一个数据库上,也就是type-1 connect 。 但DB2支持type-2 connect,也就是一个事务中可以同时连接两个数据库。本文就是type-2连接的测试。
1.)一些说明
1.1 在被连接的两个数据库中,只能有一个是active状态,另一个是dormant状态。
1.2 一些关键字的解释与说明
- The CONNECT TO <dbname> or CONNECT TO <dbname> USER userid USING password statements establish a connection.
- The SET CONNECTION <dbname> statement changes the state of a database connection from dormant to current. It makes the specified location the current server.
- The RELEASE statement places one or more connections in the release-pending state.Note that, even though a database has been placed in release pending state, you may still CONNECT TO or SET CONNECTION to the database before the COMMIT
- The DISCONNECT statement destroys one or more connections when there is no active unit of work (after COMMIT or ROLLBACK WORK).
![](/assets/blank.gif)
$ db2set DB2OPTIONS=+c
$ db2stop
$ db2start$ db2 "set client syncpoint twophase connect 2 sqlrules STD"
$ db2 "connect to DB1"
数据库连接信息数据库服务器 = DB2/NT 10.5.1SQL 授权标识 = QINGSONG本地数据库别名 = DB1$ db2 "select * from t1"ID NAME
----------- ----------1 AA2 bb2 条记录已选择。$ db2 "update t1 set name='aa' where ID=1"
$ db2 "connect to DB2"数据库连接信息数据库服务器 = DB2/NT 10.5.1SQL 授权标识 = QINGSONG本地数据库别名 = DB2$ db2 "select * from employee"AGE
-----------6872261004 条记录已选择。$ db2 "insert into employee values(300)"
$ db2 "set connection db1"数据库连接信息数据库服务器 = DB2/NT 10.5.1SQL 授权标识 = QINGSONG本地数据库别名 = DB1$ db2 "select * from t1"ID NAME
----------- ----------1 aa2 bb2 条记录已选择。$ db2 "select * from employee"
SQL0204N "QINGSONG.EMPLOYEE" 是一个未定义的名称。 SQLSTATE=42704
$ db2 "release all"
DB20000I SQL RELEASE 命令成功完成。$ db2 "commit"
DB20000I SQL 命令成功完成。$ db2 "list applications"
SQL1611W “数据库系统监视器”没有返回任何数据。
如果在测试过程查看db2 list application的输出,可以看到 在第一次connect to DB1之后,有一个应用。当connect to DB2之后,变成了两个应用。在发出release all之后,仍然是两个应用,在发出commit命令之后,所有应用断开(断开的原因是之前发出过release all的命令)
DB2中的type-2 connect相关推荐
- db2存储结构换Oracle,DB2中实现Oracle的功能
1.如何实现分页显示的Oracle和DB2的写法 Oracle 可以这样实现﹕ SQL>select rownum,* from BSEMPMS where rownum >=5 and ...
- 在db2中 两个数据库之间的两个表的联合查询
大家好,今天遇到了在db2中 两个数据库之间的两个表的联合查询 我知道oracle中有dblink,可是不知到db2的两个数据库联合查询怎么处理 我找了类似于 比如两个数据库: db1,db2 用户名 ...
- DB2中常用sql语句语法
DB2 提供了关连式资料库的查询语言sql(structured query language),是一种非常口语化.既易学又易懂的语法.此一语言几乎是每个资料库系统都必须提供的,用以表示关连式的操作, ...
- linux db2 修改日志路径,db2中更改日志文件大小及其个数
db2中更改日志文件大小及其个数比较简单,只需要修改2个参数即可,比ORACLE方便的多. 默认日志文件放在SQLOGDIR目录下. [huateng@db2server SQLOGDIR]$ pwd ...
- hive sqoop 分区导入_利用oozie,执行sqoop action将DB2中的数据导入到hive分区表中
测试:利用oozie,执行sqoop action将DB2中的数据导入到hive分区表中. 需要注意的地方: 1,要添加hive.metastore.uris这个参数.否则无法将数据加载到hive表中 ...
- DB2中常见sqlCode原因分析
DB2中常见sqlCode原因分析 000 | 00000 | SQL语句成功完成 01xxx | SQL语句成功完成,但是有警告 +012 | 01545 | 未限定的列名被解释为一个有相互关系的引 ...
- DB2中使用事件监控器获取某个时间段里某个用户执行的SQL语句
需求:管理员想要监控在一段时间里,用户DB2TEST跑过哪些SQL语句,这个在DB2中如何做到? 答: 可以采用STATEMENT类型的事件监控器: 测试过程: 1.) 管理员用户连库.创建事件监控器 ...
- DB2中cursor的使用举例
摘要: DB2中经常会使用到CURSOR,这篇文章举几个例子说明cursor的用法. 准备工作: $ db2 "select * from t2" ID ----------- ...
- 嵌套SQL语句訪问DB2中SQLCA的调用技巧
在IBM的关系型数据库产品DB2中,使用SQL Communication Area(SQLCA)将程序中嵌套的SQL语句执行情况返回给程序. 在程序中有针对性地对SQLCA实施调用,可对程序中各类S ...
最新文章
- numpy列相加_Python数据分析入门:NumPy基础:数组与向量化计算
- 2021-11-13包装类
- 在Apache Camel中使用Spring数据
- [渝粤教育] 西南科技大学 车辆构造 在线考试复习资料
- sql azure 语法_在Azure中使用SQL Server 2016 CTP3
- 矩阵论第二章总结:范数理论及应用(脑图)
- php验证码登录博客,php教程博客
- 专业数字功放工作原理以及应用电路介绍
- 专业wifi测试软件,专业的WiFi检测工具有哪些?
- 代码质量 权威精选植根于开发实践的最佳读物
- python自动排版公众号_GitHub - sunshine2337/maxpress: MaxPress:MarkDown+Python实现微信公众号一键排版...
- 如何去掉word向下箭头(手动换行符)
- 对视频马赛克的调研学习报告
- 计算机类专业分类及优缺点,计算机专业优势介绍及学科分类
- echarts实现立体柱状图
- ArcGIS空间数据分析实用工具——方向分布(标准差椭圆)
- 第二章——Swift语言
- 一款在线免费的甘特图,让你轻松管理项目进度
- jQuery添加插入元素技巧
- 7.27北京 以我的方式纪念环法--香山游击
热门文章
- DS栈+队列—排队游戏
- 张鑫溢:9.2非农来袭黄金交易请好安全带
- CMS整站程序整理(转)
- [水]2015百度之星初赛第一场 超级赛亚ACMer
- 拉美金融科技公司Nubank获新一轮4亿美元融资
- lol ban pick笔记
- vista下载_在受保护模式下使用IE7在Vista下下载可听内容
- 换个SSD再战6年,14款MacBook Air升级1TB SSD,傻瓜式操作
- Python+Vue计算机毕业设计怪合味熟食店92gh4(源码+程序+LW+部署)
- ◎不使用三方软件,实现电脑自动关机