关于PB自定义事务的问题 100分求解

gemini0526 2008-01-23 09:08:23
在PB使用中,发现个问题。sqlca大家都知道,是PB自带的全局事务对象。但,如果使用自定义事务对象,不用sqlca,正常的使用DW控件去对数据库操作,是没问题。但直接写sql,就出问题了。代码段1的例:
SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
SQLCA.LogPass = "ccmis"
SQLCA.ServerName = "orcl"
SQLCA.LogId = "ccmis"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PBCatalogOwner='ccmis'"
connect using sqlca;

select s_ad282.nextval into :s_no from dual;

在这里,s_no是获取记录序列的值的。而采用自定义的事务对象

transaction gr2
gr2=create transaction
gr2.servername= "orcl"
gr2.logid="ccmis"
gr2.logpass= "ccmis"
gr2.dbparm= "PBCatalogOwner='ccmis'"
gr2.dbms= "O90 Oracle9i (9.0.1)"
gr2.autocommit=false
connect using gr2;
select s_ad282.nextval into :s_no from dual;

在这,s_no是空值。这是为什么呢???

前提,不要把这两个事务写在一个代码段。connect using sqlca与connect using gr2如果写在一起,是都能查出来结果的。因为connect using sqlca在发挥做用。 使用注释的方法,就看出来了。代码段1和自定义的代码段,要试哪个,就注释另外一组。

另外,就是使用自定义的事务对象,虽然不能执行PB中的嵌套sql语句,但却可以通过dw正常完成增删改查。

找高手求解
...全文
1410 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
light0908 2012-04-06
  • 打赏
  • 举报
回复
好建议,有时常忘记using...
ych12333 2012-03-31
  • 打赏
  • 举报
回复
呵呵。记得在SQL 后跟 USING 默认是SQLC,所以用自定义连接多个数据库的时候一定要记得加USING 。
PB菜鸟 2012-03-31
  • 打赏
  • 举报
回复
fuxiaoyang13 2012-03-28
  • 打赏
  • 举报
回复
dingding!!
DYFDWX 2012-03-28
  • 打赏
  • 举报
回复
顶a,b相与之间不会影响
qq135849 2012-03-26
  • 打赏
  • 举报
回复
a = create transaction
b= create transaction

a、b 两个连接数据库参数完全相同。

重复进行connect using a;
connect using a;
、 connect using a;
有的时候会报 事务已连接,有的时候不报;这个是什么原因呢?

另外 connect using a; 会对 connect using b 有影响吗
Samoon 2010-12-08
  • 打赏
  • 举报
回复
Mark一下
每天回帖即可获得10分可用分!
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
都是很好的建议! 值得学习
shengjinbo 2008-03-06
  • 打赏
  • 举报
回复
好贴,打个标记先
rambo_china 2008-03-05
  • 打赏
  • 举报
回复
上面的回答真是太全面了,接不着分喽
青锋-SS 2008-03-05
  • 打赏
  • 举报
回复
select s_ad282.nextval into :s_no from dual using gr2; 
sun9moon 2008-03-05
  • 打赏
  • 举报
回复
一楼八楼正解!能否接分啊!
qiyousyc 2008-02-29
  • 打赏
  • 举报
回复
sql语句在pb中默认使用sqlca的属性。
如果自己定义了事务,要在后面加 using 事务名称。
AFIC 2008-02-27
  • 打赏
  • 举报
回复
jf
SKY_4K_PPM 2008-02-23
  • 打赏
  • 举报
回复
一楼正解
ribut9225 2008-02-23
  • 打赏
  • 举报
回复
同意9楼
lacolor 2008-02-21
  • 打赏
  • 举报
回复
有时候省事并不一定安全。
dangerous123 2008-02-20
  • 打赏
  • 举报
回复
多事务中内嵌sql语句一定要加上using加事务对象名。。。
victory369 2008-02-20
  • 打赏
  • 举报
回复
支持一楼
ybkenan 2008-01-24
  • 打赏
  • 举报
回复
一樓八樓正解。
加载更多回复(8)

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧