Failed Creating Database SQL 2021 Kendi çözümüm.

  • Konbuyu başlatan Konbuyu başlatan Xpected
  • Başlangıç tarihi Başlangıç tarihi

Xpected

Member
Katılım
19 Haz 2012
Mesajlar
147
Reaction score
0
Puanları
16
Yaş
35
Konum
Istanbul
Merhabalar,Öncelikle piyasada bu konu ile ilgili bir çok aynı paylaşım var alakasız paylaşımlar olduğunu tespit ettim bu yüzden bu sorunun çoğu db'nin 2000 sürümünden geldiği için 2021'deki bazı değerlerin prosüdürleri desteklemediğinden oluştuğunu fark ettim özellikle bu acme için geçerli çözümü aşağıdaki prosüdürleri girerek aşabiliriz.
Kod:
/****** Object:  StoredProcedure [dbo].[ITEMLERI_BUL]    Script Date: 10/02/2021 00:52:03 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER procedure [dbo].[ITEMLERI_BUL]@StrUserID varchar(30)ASDECLARE@length int, -- stritem uzunluğu@i int, -- item'in stritem deki yeri@dwid int,@dur int,@duar int,@Kocuce int,@StackSize1 int,@Sira int,@Row int,@name varchar(100),@extname varchar(100),@ext int,@strSerial intset @i = 14*0+1set @length = 401select @Row=count(*) from userdata where struserid=@StrUserIDdelete from itemler where struserid=@StrUserIDif @Row>0beginWHILE @i < @lengthBeginSelect @dwid=cast(cast(substring(cast(substring(strItem, @i,4) as varbinary(4)), 4, 1)+substring(cast(substring(strItem, @i,4) as varbinary(4)), 3, 1)+substring(cast(substring(strItem, @i,4) as varbinary(4)), 2, 1)+substring(cast(substring(strItem, @i,4) as varbinary(4)), 1, 1) as varbinary(4)) as int),@dur = cast(cast(cast( substring(strItem, @i+5, 1) as varbinary(1))+cast(substring(strItem, @i+4, 1) as varbinary(1)) as varbinary(2)) as smallint),@strSerial = cast(cast(substring(cast(substring(strSerial, @i,4) as varbinary(4)), 4, 1)+substring(cast(substring(strSerial, @i,4) as varbinary(4)), 3, 1)+substring(cast(substring(strSerial, @i,4) as varbinary(4)), 2, 1)+substring(cast(substring(strSerial, @i,4) as varbinary(4)), 1, 1) as varbinary(4)) as int),@StackSize1 = cast(cast(cast( substring(strItem, @i+7, 1) as varbinary(1))+cast(substring(strItem, @i+6, 1) as varbinary(1)) as varbinary(2)) as smallint),@StrUserID = strUserIDFrom UserDataWhere strUserID = @StrUserIDif @dwid=0beginset @extname='~~~~~~ item yok ~~~~~~'set @name='~~~~~~ item yok ~~~~~~'endelsebeginset @extname='Bulunamadi'select @extname=strname from item where num=@dwidendinsert into itemler (dwid,stacksize,durability,struserid,sira,itembasicname) values(@dwid,@StackSize1,@dur,@StrUserID,(@i-1) / 8,@extname )set @i=@i+8endselect * from itemler where struserid=@StrUserID order by siraend
Kod:
/****** Object:  StoredProcedure [dbo].[ITEMLERI_BUL_BANKA]    Script Date: 10/02/2021 00:53:13 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER procedure [dbo].[ITEMLERI_BUL_BANKA]@StrUserID varchar(30)ASDECLARE@length int, -- stritem uzunluğu@i int, -- item'in stritem deki yeri@dwid int, @dur int, @Kocuce int,@StackSize1 int,@Sira int,@Row int,@extname varchar(50),@item varchar(30)select @item=WareHouseData from warehouse where straccountid=@StrUserIDif @item is null	update warehouse set warehousedata='' where straccountid=@StrUserIDdelete from warehouse_itemler where struserid=@StrUserID    set @i = 14*0+1    set @length=1601select @row=count(*) from warehouse where straccountid=@StrUserIDif @row>0   beginWHILE @i < @lengthBegin--Buraya İşemek YasaktırSelect @dwid=cast(cast(substring(cast(substring(WarehouseData, @i,4) as varbinary(4)), 4, 1)+substring(cast(substring(WarehouseData, @i,4) as varbinary(4)), 3, 1)+substring(cast(substring(WarehouseData, @i,4) as varbinary(4)), 2, 1)+substring(cast(substring(WarehouseData, @i,4) as varbinary(4)), 1, 1) as varbinary(4)) as int),@dur = cast(cast(cast( substring(WarehouseData, @i+5, 1) as varbinary(1))+cast(substring(WarehouseData, @i+4, 1) as varbinary(1)) as varbinary(2)) as smallint),@StackSize1 = cast(cast(cast( substring(WarehouseData, @i+7, 1) as varbinary(1))+cast(substring(WarehouseData, @i+6, 1) as varbinary(1)) as varbinary(2)) as smallint),        @StrUserID = straccountid        From warehouse        Where straccountid = @StrUserIDif @dwid=0 beginset @extname='~~~~~~ item yok ~~~~~~'endelsebeginset @extname='Bulunamadı'select @extname=strname from item where num=@dwidendinsert into warehouse_itemler values(@dwid,@stacksize1,@dur,@StrUserID,(@i-1) / 8,@extname )set @i=@i+8endselect * from warehouse_itemler where struserid=@StrUserID order by siraend
Kod:
/****** Object:  StoredProcedure [dbo].[itemleri_encode]    Script Date: 10/02/2021 00:53:32 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER procedure [dbo].[itemleri_encode]@StrUserID varchar(30)ASDECLARE@length int, -- stritem uzunluğu@row int, -- yerine göre deişior.@i int, -- item'in stritem deki yeri@dwid int, -- dwid@pos int,@dur int,@dur1 int,@Kocuce int,@ext int,@StackSize1 int,@strName varchar(30),@strExtName varchar(30),@strSerial int,@CstrSerial varbinary(4),@Cdwid varbinary(4),@Cdur varchar(2),@Source tinyint,@NEWdwid int,@StackSize int,@Cstack varchar(2),@sira intset @sira=0set @i = 14*0set @length = 401select @row=count( * ) from userdata where struserid=@StrUserIDif @row>0beginSelect @dwid=dwid,@dur = durability,@StackSize1 = stacksize,@StrUserID = strUserIDFrom itemlerWhere strUserID = @StrUserID and sira=@siraprint @dwidprint @strSerialSet @Cdwid = Substring(cast(@dwid as varbinary(4)), 4, 1) + Substring(cast(@dwid as varbinary(4)), 3, 1) + Substring(cast(@dwid as varbinary(4)), 2, 1) + Substring(cast(@dwid as varbinary(4)), 1, 1)Set @CstrSerial = Substring(cast(@strSerial as varbinary(4)), 4, 1) + Substring(cast(@strSerial as varbinary(4)), 3, 1) + Substring(cast(@strSerial as varbinary(4)), 2, 1) + Substring(cast(@strSerial as varbinary(4)), 1, 1)Set @Cdur = cast(Substring(cast(@dur as varbinary(2)), 2, 1)+Substring(cast(@dur as varbinary(2)), 1, 1) as varchar(2))Set @Cstack = cast(Substring(cast(@StackSize1 as varbinary(2)), 2, 1)+Substring(cast(@StackSize1 as varbinary(2)), 1, 1) as varchar(2))update UserData setstrItem = cast(cast(cast(@Cdwid as varchar(4)) + @Cdur + @Cstack as varchar(50)) as binary(400)),strSerial = cast(cast(@CstrSerial as varchar(4)) as binary(400))where strUserID = @StrUserIDset @i=@i+8set @sira=@sira+1WHILE @sira < 50BeginSelect @dwid=dwid,@dur = durability,@StackSize1 = stacksize,@StrUserID = strUserIDFrom itemlerWhere strUserID = @StrUserID and sira=@siraSet @Cdwid = Substring(cast(@dwid as varbinary(4)), 4, 1) + Substring(cast(@dwid as varbinary(4)), 3, 1) + Substring(cast(@dwid as varbinary(4)), 2, 1) + Substring(cast(@dwid as varbinary(4)), 1, 1)Set @Cdur = cast(Substring(cast(@dur as varbinary(2)), 2, 1)+Substring(cast(@dur as varbinary(2)), 1, 1) as varchar(2))Set @Cstack = cast(Substring(cast(@StackSize1 as varbinary(2)), 2, 1)+Substring(cast(@StackSize1 as varbinary(2)), 1, 1) as varchar(2))set @CstrSerial = Substring(cast(@strSerial as varbinary(4)), 4, 1) + Substring(cast(@strSerial as varbinary(4)), 3, 1) + Substring(cast(@strSerial as varbinary(4)), 2, 1) + Substring(cast(@strSerial as varbinary(4)), 1, 1)update UserData setstrItem = cast(substring(strItem, 1, @i) + cast(cast(@Cdwid as varchar(4)) + @Cdur + @Cstack as varchar(50)) + substring(strItem, @i+8, 401-@i) as binary(400)),strSerial = cast(substring(strSerial, 1, @i) + cast(@CstrSerial as varchar(4)) + substring(strSerial, @i+8, 401-@i) as binary(400))where strUserID = @StrUserID--Buraya İşemek Yasaktırset @i=@i+8set @sira=@sira+1endend
Kod:
/****** Object:  StoredProcedure [dbo].[itemleri_encode_banka]    Script Date: 10/02/2021 00:53:50 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER procedure [dbo].[itemleri_encode_banka]@StrUserID varchar(30)ASDECLARE@length int, -- stritem uzunluğu@row int, -- yerine göre deişior.@i int, -- item'in stritem deki yeri@dwid int, -- dwid@pos int,@dur int,@dur1 int,@ext int,@StackSize1 int,@strName varchar(30),@strExtName varchar(30),@Cdwid varbinary(4),@cdur varchar(2),@Source tinyint,@NEWdwid int,@StackSize int,@cstack varchar(2),@sira int    set @sira=0    set @i = 14*0    set @length = 1601select @row=count( * ) from warehouse where strAccountID=@StrUserIDif @row>0   beginSelect @dwid=dwid,@dur = durability,@StackSize1 = stacksize,        @StrUserID = strUserID        From warehouse_itemler        Where strUserID = @StrUserID and sira=@sira    Set @Cdwid = Substring(cast(@dwid as varbinary(4)), 4, 1) + Substring(cast(@dwid as varbinary(4)), 3, 1) + Substring(cast(@dwid as varbinary(4)), 2, 1) + Substring(cast(@dwid as varbinary(4)), 1, 1)    Set @Cdur = cast(Substring(cast(@dur as varbinary(2)), 2, 1)+Substring(cast(@dur as varbinary(2)), 1, 1) as varchar(2))    Set @Cstack = cast(Substring(cast(@StackSize1 as varbinary(2)), 2, 1)+Substring(cast(@StackSize1 as varbinary(2)), 1, 1) as varchar(2))    update WareHouse set warehousedata = cast(cast(cast(@Cdwid as varchar(4)) + @Cdur + @Cstack as varchar(8))   as binary(400)) where strAccountID = @strUserIDset @i=@i+8set @sira=@sira+1WHILE @sira < 200BeginSelect @dwid=dwid,@dur = durability,@StackSize1 = stacksize,        @StrUserID = strUserID        From warehouse_itemler        Where strUserID = @StrUserID and sira=@sira    Set @Cdwid = Substring(cast(@dwid as varbinary(4)), 4, 1) + Substring(cast(@dwid as varbinary(4)), 3, 1) + Substring(cast(@dwid as varbinary(4)), 2, 1) + Substring(cast(@dwid as varbinary(4)), 1, 1)    Set @Cdur = cast(Substring(cast(@dur as varbinary(2)), 2, 1)+Substring(cast(@dur as varbinary(2)), 1, 1) as varchar(2))    Set @Cstack = cast(Substring(cast(@StackSize1 as varbinary(2)), 2, 1)+Substring(cast(@StackSize1 as varbinary(2)), 1, 1) as varchar(2))    update warehouse set warehousedata = cast( substring(warehousedata, 1, @i) + cast(cast(@Cdwid as varchar(4)) + @Cdur + @Cstack as varchar(8)) + substring(warehousedata, @i+8, 1601-@i) as binary(1600)) where strAccountID = @strUserIDset @i=@i+8set @sira=@sira+1endenddelete from warehouse_itemler
Kod:
/****** Object:  StoredProcedure [dbo].[baslangicitem]    Script Date: 08/06/2021 01:05:57 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[baslangicitem]@account varchar(21)ASbegindeclare @class smallintselect @class = cast(substring(cast(class as varchar(3)),2,2) as smallint) from userdata where struserid=@accountif @class=1 or @class=5 or @class=6set @class = 1if @class=2 or @class=7 or @class=8set @class = 2if @class=3 or @class=9 or @class=10set @class = 3if @class=4 or @class=11 or @class=12set @class = 4update userdata set  stritem = (select stritem from baslangic where class=@class) where struserid=@accountend
 
Geri
Üst Alt