Server Tanitimi , Ko Tanitimi , Silkroad Pvp Serverler , Metin2 Pvp Serverler

DB'den Başka DB ye User Aktarmak.

[XFB] Konu Bilgileri

Konu Hakkında Merhaba, tarihinde Prosedür & Kod Paylaşımları kategorisinde Stark tarafından oluşturulan DB'den Başka DB ye User Aktarmak. başlıklı konuyu okuyorsunuz. Bu konu şimdiye dek 311 kez görüntülenmiş, 0 yorum ve 0 tepki puanı almıştır...
Kategori Adı Prosedür & Kod Paylaşımları
Konu Başlığı DB'den Başka DB ye User Aktarmak.
Konbuyu başlatan Stark
Başlangıç tarihi
Cevaplar
Görüntüleme
İlk mesaj tepki puanı
Son Mesaj Yazan Stark

Stark

K.Destek Yöneticisi
Selamlar







Neden mi?



Oyuncuların itemleri silinmesin diye.



Kullanımı çok basittir.



USERDATA, ACCOUNT_CHAR, TB_USER, WAREHOUSE



Tablolarını İmport, Export yaptıktan sonra,



Kaybolan oyuncu itemlerini Geri alabilmek için Aşağıdaki kodu uygulamanız gerekmektedir.









Kod:

EXEC USER_AKTAR'nick',1



Şeklinde çalışır. Her karakter için bunu yapmanız gerekmektedir. Bu işlemi kendi sistemimde uygulayıp bitirmem 20 dakikamı almıyor.



KODU UYGULAMADAN ÖNCE KENDİNİZE GÖRE DÜZENLEYİN.





Kod:

CREATEPROCEDURE [dbo].[USER_AKTAR]

(

@CharID char(21),

@Day tinyint

)

AS

/*

Modifiye : AKI

*/

DECLARE @strUserID char(21)

DECLARE @Exp int,@Loyalty int,@Gold int

DECLARE @Rank tinyint,@Title tinyint,@Level tinyint,@Knights smallint,@Fame tinyint,@Strong tinyint,@Sta tinyint,@Dex tinyint,@Intel tinyint,@Cha tinyint,@Points tinyint

DECLARE @strSkill varchar(10),@strItem varchar(400),@strSerial varchar(400),@strQuest varchar(400)

DECLARE @UserInGame int,@CheckUserChar int



SELECT @UserInGame =COUNT(strCharID)FROM CURRENTUSER WHERE strCharID = @CharID

SELECT @CheckUserChar =COUNT(strUserId)FROM USERDATA WHERE strUserId = @CharID

IF @UserInGame 0

BEGIN

PRINT 'İşlem Yapılamadı, Kullancı Oyundadır.'

END

ELSE IF @CheckUserChar = 0

BEGIN

PRINT 'Böyle Bir Kullancı Bulunamadı'

END

ELSE

BEGIN

IF (@Day = 1)

BEGIN



SELECT @strUserId = [strUserID],@Rank = [Rank],@Title = [Title],@Level = [Level],@Exp = [Exp],@Loyalty = [Loyalty],@Knights = [Knights],@Fame = [Fame],@Strong = [Strong],@Sta = [Sta],@Dex = [Dex],@Intel = [Intel],@Cha = [Cha],@Points = [Points],@Gold = [Gold],@strSkill = [strSkill],@strItem = [strItem],@strSerial = [strSerial],@strQuest = [strQuest] FROM





-- DİKKAT: BURAYA AKTARMA ALACAINIZ DATABASE'İN İSMİNİ

-- YAZACAKSINIZ.

-- kn_online2 adında Yedeiniz mi var ?

-- O Zaman şöyle bir örnek vereyim. Kn_online2.Dbo.USERDATA





-- KARAKTERİN BULUNDUĞU DATABASE ADI BAŞLANĞIÇ



Kn_online2.Dbo.USERDATA

-- KARAKTERN BULUNDUU DATABASE ADI BİTİŞ





WHERE strUserID = @CharID



UPDATE USERDATA SETRank= @Rank,Title = @Title,Level= @Level,Exp= @Exp,Loyalty = @Loyalty,Knights = @Knights,Fame = @Fame,Strong = @Strong,Sta = @Sta,Dex = @Dex,Intel = @Intel,Cha = @Cha,Points = @Points,Gold = @Gold,strSkill = @strSkill,strItem = @strItem,strSerial = @strSerial,strQuest = @strQuest WHERE strUserId = @CharID

END

ELSE

BEGIN

PRINT'Lütfen en sona 1 yazın'

END

END



Kullanımı ...







1 Başlat > Tüm Programlar > Microsoft SQL Server > Query Analyzer ‘ a giriyoruz.



2 SQL Server’ a bağlanıyoruz ve açılan ekranda ” master ” yerine ” DBmizi ” seçiyoruz.



3 Seçtikten sonra aşağıdaki kodu kopyalayıp , yapıştırıyoruz ve F5 yaparak kodumuzu uyguluyoruz.
 
Üst