2009-09-03 16 views
1

J'ai essayé de trouver des informations manuelles à ce sujet, mais ma recherche est infructueuse.Obtenir le spid d'une connexion à une base de données Powerbuilder?

J'essaye de voir s'il y a un moyen de trouver le spid unique (à partir de sp_who) d'une connexion dans une base de données de Powerbuilder.

Comme dans, un utilisateur se connecte, et je peux voir son enregistrement sp_who, mais je veux être en mesure d'obtenir et de manipuler cet identifiant dans l'application elle-même.

(Ceci est probablement facile représentant gratuit, des experts pb.!)

Répondre

2

Eh bien, après avoir essayé de google à nouveau ce matin (et obtenir cette question le premier résultat: p) J'ai trouvé qu'il y a effectivement une variable @@SPID que je peux appeler.

Ce que je l'ai fait est de créer une procédure

create procedure prc_get_spid 
as 
begin 
return @@spid 
end 

puis dans mon application, je vais juste

long ll_spid 
ll_spid = sqlca.prc_get_spid() 

qui me donne le SPID pour la connexion sqlca.

^_^

0

Une autre façon d'accéder au SPID sans créer une procédure stockée est l'accès de l'intérieur d'une table dérivée, comme indiqué ci-dessous.

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