• Bem vindo à nossa comunidade - Quer se juntar ao resto dos nossos membros? Registre-se*Registros aprovados pela adminitração

Fixando problema da MEMB_STAT (contas presas)

abuzado

aBuZaDo
Legendário XPZ
estou aqui hoje para postar para vocês a solução do problema de player continuar logado mesmo depois de ter saido da conta.

Aconselho a fazer BACKUP antes de começar.

Primeiro passo e apagar o que vamos criar depois fixado!

Código:

_______________________________________________________________________

1. Apague a WZ_CONNECT_MEMB & WZ_DISCONNECT_MEMB de Stored Procedures.

2. Apague a tabela MEMB_STAT

_______________________________________________________________________________________

Depois que você apagou, execute a primeira query para criar a Procedure WZ_CONNECT_MEMB.

_______________________________________________________________________________________

CREATE PROCEDURE WZ_CONNECT_MEMB

@uid varchar(20),

@server varchar(20),

@uip varchar(20)

AS

Begin

BEGIN TRANSACTION

SET NOCOUNT ON

IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED)

WHERE memb___id = @uid )

Begin

UPDATE MEMB_STAT

SET ip = @uip , connectstat = 1 , servername = @server , ConnectTM = (getdate())

WHERE memb___id = @uid

End

ELSE

Begin

INSERT INTO MEMB_STAT ( memb___id,ip,connectstat,servername) valueS (

@uid,

@uip,

1,

@server

)

End

IF(@@Error <> 0 )

ROLLBACK TRANSACTION

ELSE

COMMIT TRANSACTION

SET NOCOUNT OFF

End

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_NULLS OFF

GO

__________________________________________________________________________

Agora execute essa segunda query para criar a procedure WZ_DISCONNECT_MEMB.

__________________________________________________________________________

CREATE PROCEDURE WZ_DISCONNECT_MEMB

@uid varchar(20)

AS

Begin

BEGIN TRANSACTION

SET NOCOUNT ON

IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED)

WHERE memb___id = @uid )

Begin

UPDATE MEMB_STAT

SET DisConnectTM = (getdate()), connectstat = 0 WHERE memb___id = @uid

End

ELSE

Begin

INSERT INTO MEMB_STAT ( memb___id,DisConnectTM,connectstat) valueS (

@uid,

(getdate()),

0

)

End

IF(@@Error <> 0 )

ROLLBACK TRANSACTION

ELSE

COMMIT TRANSACTION

SET NOCOUNT OFF

End

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO

___________________________________________________________________________

E por ultimo rode a ultima query para criar a tabela MEMB_STAT

__________________________________________________________________________

CREATE TABLE [dbo].[MEMB_STAT] (

[memb___id] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,

[ConnectStat] [tinyint] NULL ,

[serverName] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,

[iP] [nvarchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,

[ConnectTM] [smalldatetime] NULL ,

[DisConnectTM] [smalldatetime] NULL

) ON [PRIMARY]

GO

___________________________________________________________________________

Problema solucionado!

Espero que gostem.

Creditos:

Querys: @meirim

Tutorial: @HumbertoS

eu por trazer a XPZONE

gostou ? e sor agradecer ...
 
Editado por um moderador:

xMoleque

Mulek
Legendário XPZ
Boa noite.

Quem não consegui acha o local das WZ_CONNECT_MEMB & WZ_DISCONNECT_MEMB de Stored Procedures.

Usa essa Query postando pelo chriscsl 

Por favor, Entrar ou Registrar para ver o conteúdo das citações!


Por favor, Entrar ou Registrar para ver o conteúdo do spoiler!

Créditos: chriscsl 
 
Editado por um moderador:

testing157

Honrado XPZ
Isso tudo com servidor desligado ou ligado? Dúvida ele tornara bugar ou não?

e a onde estão essas WZ_CONNECT_MEMB & WZ_DISCONNECT_MEMB de Stored Procedures. 

qual table?
 
Editado por um moderador:

xMoleque

Mulek
Legendário XPZ
Ler a pagina  toda irmão , eu acho assim se formo meche no SQL renomea e deleta coisas o serve ta usando aquela coisa que vamos renomeia eu acho que ele vai da erro com serve ligado né.;

Claro vei tem que desliga o serve né. 
default_undecided.gif
 
 

testing157

Honrado XPZ
xMOLEQUE E A QUAL LUGAR TA WZ_CONNECT_MEMB & WZ_DISCONNECT_MEMB de Stored Procedures.
default_huh.gif
ISSO DESBUGA O PROBLEMA DO GS postado pelo abuzado do kinhomace reformulado?
 

Depeche

Honrado XPZ
tambem não encontrei se não encontrar e so criar ?

rodei a query para testar e deu esse erro:

Server: Msg 208, Level 16, State 1, Line 3

Invalid object name 'sys.objects'.

Server: Msg 208, Level 16, State 1, Line 3

Invalid object name 'sys.objects'.
 
Editado por um moderador:

xMoleque

Mulek
Legendário XPZ
@Despeche e DllServer: Vá no Google e procure como roda uma Query.

Isso é uma aviso ,procure mais como roda um Query corretamente ,eu testei ele na DB do MS do Perildsky,KinhoMace,Sparta e não tive problema.
 

Depeche

Honrado XPZ
me ajuda por favor porque meu site está prendendo muita gente online ;/ já troquei connect e não resolveu

Venerável XPZ vai me ajudar a solucionar meu problema ?
 
Editado por um moderador:

abuzado

aBuZaDo
Legendário XPZ
Depeche pare de flodar e aprendar a espera resposta !!

procure em

SQL 2000 = MuOnline > Stored Oricedures


SQL 2008 = MuOnline > Programação > Procedimentos Armazenados

ss mostrando >
Por favor, Entrar ou Registrar para ver o conteúdo das URLs!


ss mostrando >
Por favor, Entrar ou Registrar para ver o conteúdo das URLs!


e sor procurar .. ajudei dar link ae ..
 
Topo Bottom