PB开发
张振磊
系统架构师,软件设计师,oracle认证专家
展开
-
pb程序在64位操作系统上使用Instant Client 连接oracle数据库
有时候客户端只想实现能够连接上服务器端oracle数据库,完全没必要安装庞大的客户端。下面我将讲解一下如何通过即时客户端(Instant Client)连接上oracle数据库。Instant Client下载地址http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html。注意:因原创 2016-03-04 19:42:02 · 5562 阅读 · 2 评论 -
pb transaction使用完后忘记disconnect的严重后果
很多人都明白,transaction使用完后忘记disconnect的话,数据库服务端的session连接不会释放,从而浪费了服务器资源。其实这只是一部分后果。如果粗心大意,还会造成更大的影响。 先来做个测试,我新建了一个窗口w_test。在窗口上放置两个按钮cb_1和cb_2。 cb_1的clicked事件下面定义transaction sqlca1,故意漏掉原创 2016-02-25 19:21:44 · 7503 阅读 · 3 评论 -
编程不是功能实现了就可以了
最近在项目中发现一个事件,功能很简单,也达到了预期的功能效果,但是编程不仅仅是功能实现了就可以了,更应该是如何完美的实现功能。下面我将这个事件的代码贴出来,进行一下分析。代码不是很长,总共才19行,该事件是确定按钮对象上面的一个事件定义。每点击一次确定就会触发一次该事件。1 string ls_error,ls_zyhm2 sql_lis = create T原创 2017-06-16 21:21:55 · 630 阅读 · 0 评论 -
pb全局变量在哪定义
今天有同事问我,说全局变量怎么用,我很纳闷,怎么会问全局变量怎么用呢?他给我演示说,定义了一个全局变量,在全局函数里面对他赋值的时候,提示全局变量没定义。我过去一看,还真是。 pb是个很方便的编程工具,我们定义变量,一般都是在当前对象的declare variables tab页直接定义变量,这里可以很方便的定义全局变量,实例变量,共享变量,全局外部函数,本地外部函数。但是全局原创 2017-06-21 20:25:08 · 5217 阅读 · 3 评论 -
pb之CommitOnDisconnect
今天看到一段代码对transaction object的DBParm赋值CommitOnDisconnect='No',本身这段代码没问题,pb transaction object 执行disconnect 命令断开与数据库连接时,如果不进行上面的赋值,pb会默认提交掉当前未提交的transaction。 但是看了这段代码的注释,立马傻眼了,注释是这样写的:原创 2017-07-05 22:35:04 · 1709 阅读 · 0 评论 -
oracle存储过程自治事务
pb调用存储过程的时候,使用了事务,为了存储过程的逻辑功能完整,往往在存储过程中也会使用事务。如何保证存储过程内外的事务合理使用显得尤为重要。pb调用存储过程的事务,我们称其为主事务。他与存储过程内的事务关系,无非就两种情况。两个事务是同一个事务或者两个事务是独立的两个事务。存储过程中的事务要不要作为独立的一个事务要根据情况而定。oracle提供了参数PRAGMA AUTONOMOUS_TRA原创 2017-07-07 21:31:50 · 3995 阅读 · 0 评论 -
pb之autocommit
autocommit顾名思义自动提交的意思,默认情况下autocommit是false,需要手动commit或者rollback来结束当前事务。如果将autocommit设置为true,每执行完一条sql语句(update,insert)pb都会自动commit或者rollback事务。对信息系统来说,业务逻辑往往比较负责,一般都是很多sql语句组成一个事务,所以说自动commit会出现数据的逻辑原创 2017-07-08 11:42:31 · 1644 阅读 · 1 评论