2009-09-03 184 views
1

我一直在试图找到这方面的一些手册信息,但我的搜索是徒劳的。获取Powerbuilder数据库连接的spid?

我想看看是否有办法从Powerbuilder中找到连接到数据库的唯一spid(从sp_who)。

就像用户登录一样,我可以看到他们的sp_who记录,但我希望能够在应用程序本身中获取和操作此ID。

(这可能是一个简单的一个免费推销员,PB专家!)

回答

2

嘛,试图今早再次google一下(并得到这个问题的第一个结果:P)之后,我已经发现实际上有一个@@SPID变量,我可以调用。

我所做的是创建一个过程

create procedure prc_get_spid 
as 
begin 
return @@spid 
end 

然后在我的应用我只是去

long ll_spid 
ll_spid = sqlca.prc_get_spid() 

这使我对SQLCA连接的SPID。

^_^

0

访问SPID而不创建存储过程的另一种方式是从一个派生表内访问它,如下所示。

SELECT ses.SPID 
INTO :SPID 
FROM (SELECT SPID = @@SPID) AS ses 
USING SQLCA;