Bank Teller bug

02/22/2013 08:49 cok28rus#1
Code:
2013-02-22 00:29:19 PS_DBAGENT__system log start (DBAgent01)

2013-02-22 00:30:24 connect game, Name=



2013-02-22 00:30:24 connect game, Name=



2013-02-22 00:32:11 err=-1, [Microsoft][ODBC SQL Server Driver][SQL Server]Ошибка при преобразовании типа данных varchar к datetime., SQL STATE: 42000, NATIVE ERROR: 8114 (0x1FB2)

2013-02-22 00:32:11 ::SaveCharacter 268 Samsung ret=1, qerr=-1, {?=call usp_Save_Char_Product_Item_E(1,7,4,  268,3795417334814932992, 1,10, 100097,100,97, 0, 0,0,0,0,0,0,'', 10,'2013-02-22 00:31:53','B')}

2013-02-22 00:32:11 err=-1, [Microsoft][ODBC SQL Server Driver][SQL Server]Ошибка при преобразовании типа данных varchar к datetime., SQL STATE: 42000, NATIVE ERROR: 8114 (0x1FB2)

2013-02-22 00:32:11 ::SaveCharacter 268 Samsung ret=1, qerr=-1, {?=call usp_Save_Char_Product_Item_E(1,7,4,  268,3795417334814932992, 1,10, 100097,100,97, 0, 0,0,0,0,0,0,'', 10,'2013-02-22 00:31:53','B')}
02/23/2013 06:37 nephren#2
"Ошибка при преобразовании типа данных varchar к datetime"

Run the following Query should fix your bug.

Code:
USE [PS_GameData]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Proc [dbo].[usp_Save_Char_Product_Item_E]

@ServerID tinyint,
@UserUID int,
@BankSlot tinyint,
@CharID int,
@ItemUID bigint,
@Bag tinyint,
@Slot tinyint,
@ItemID int,
@Type tinyint,
@TypeID tinyint,
@Quality smallint,    --int
@Gem1 tinyint,
@Gem2 tinyint,
@Gem3 tinyint,
@Gem4 tinyint,
@Gem5 tinyint,
@Gem6 tinyint,
@Craftname varchar(20) = '', 
@Count tinyint,
@Maketime datetime,
@Maketype varchar(1)    --char(1)

AS

--SET NOCOUNT ON
SET XACT_ABORT ON

DECLARE @ProductCode varchar(20)
DECLARE @OrderNumber int
DECLARE @VerifyCode bigint
DECLARE @BuyDate datetime

IF(@Quality >= 5000)
BEGIN
    SET @Quality=0
END

BEGIN DISTRIBUTED TRANSACTION

-- Add inventory
INSERT INTO CharItems(CharID,Bag,Slot,ItemID,Type,TypeID,ItemUID,Quality,Gem1,Gem2,Gem3,Gem4, 
Gem5,Gem6,CraftName,[Count],Maketime,Maketype)
VALUES(@CharID,@Bag,@Slot,@ItemID,@Type,@TypeID,@ItemUID,@Quality,@Gem1,@Gem2,@Gem3,@Gem4, 
@Gem5,@Gem6,@Craftname,@Count,@Maketime,@Maketype)

-- Logging receipt of goods
SELECT @ProductCode=ProductCode,@OrderNumber=OrderNumber,@VerifyCode=VerifyCode,@BuyDate=BuyDate
FROM PS_Billing.dbo.Users_Product 
WHERE UserUID=@UserUID AND Slot=@BankSlot

INSERT INTO ProductLog(ServerID,UserUID,CharID,ItemID,ItemUID,Quality,ItemCount,ProductCode,OrderNumber,VerifyCode,BuyDate,ReceiveDate)
VALUES(@ServerID,@UserUID,@CharID,@ItemID,@ItemUID,@Quality,@Count,@ProductCode,@OrderNumber,@VerifyCode,@BuyDate,@Maketime)

-- Deleting the bank storage
DELETE FROM PS_Billing.dbo.Users_Product WHERE UserUID=@UserUID AND Slot=@BankSlot

IF( @@ERROR=0 AND @@ROWCOUNT=1)
BEGIN
    COMMIT TRAN
    RETURN 1
END
ELSE
BEGIN
    ROLLBACK TRAN
    RETURN -1
END

SET XACT_ABORT OFF
--SET NOCOUNT OFF
02/23/2013 11:12 cok28rus#3
Code:
2013-02-23 13:15:11 PS_DBAGENT__system log start (DBAgent01)

2013-02-23 13:16:16 connect game, Name=



2013-02-23 13:16:16 connect game, Name=



2013-02-23 13:22:13 err=-1, [Microsoft][ODBC SQL Server Driver][SQL Server]Ошибка при преобразовании типа данных varchar к datetime., SQL STATE: 42000, NATIVE ERROR: 8114 (0x1FB2)

2013-02-23 13:22:13 ::SaveCharacter 268 Samsung ret=1, qerr=-1, {?=call usp_Save_Char_Product_Item_E(1,7,0,  268,3796206238702829568, 2,3, 100100,100,100, 0, 0,0,0,0,0,0,'', 10,'2013-02-23 13:21:54','B')}

2013-02-23 13:22:13 err=-1, [Microsoft][ODBC SQL Server Driver][SQL Server]Ошибка при преобразовании типа данных varchar к datetime., SQL STATE: 42000, NATIVE ERROR: 8114 (0x1FB2)

2013-02-23 13:22:13 ::SaveCharacter 268 Samsung ret=1, qerr=-1, {?=call usp_Save_Char_Product_Item_E(1,7,0,  268,3796206238702829568, 2,3, 100100,100,100, 0, 0,0,0,0,0,0,'', 10,'2013-02-23 13:21:54','B')}

2013-02-23 13:44:06 err=-1, [Microsoft][ODBC SQL Server Driver][SQL Server]Ошибка при преобразовании типа данных varchar к datetime., SQL STATE: 42000, NATIVE ERROR: 8114 (0x1FB2)

2013-02-23 13:44:06 ::SaveCharacter 268 Samsung ret=1, qerr=-1, {?=call usp_Save_Char_Product_Item_E(1,7,0,  268,3796212221592338432, 2,4, 100100,100,100, 0, 0,0,0,0,0,0,'', 10,'2013-02-23 13:43:41','B')}

2013-02-23 13:44:06 err=-1, [Microsoft][ODBC SQL Server Driver][SQL Server]Ошибка при преобразовании типа данных varchar к datetime., SQL STATE: 42000, NATIVE ERROR: 8114 (0x1FB2)

2013-02-23 13:44:06 ::SaveCharacter 268 Samsung ret=1, qerr=-1, {?=call usp_Save_Char_Product_Item_E(1,7,0,  268,3796212221592338432, 2,4, 100100,100,100, 0, 0,0,0,0,0,0,'', 10,'2013-02-23 13:43:41','B')}

2013-02-23 13:52:36 err=-1, [Microsoft][ODBC SQL Server Driver][SQL Server]Ошибка при преобразовании типа данных varchar к datetime., SQL STATE: 42000, NATIVE ERROR: 8114 (0x1FB2)

2013-02-23 13:52:36 ::SaveCharacter 268 Samsung ret=1, qerr=-1, {?=call usp_Save_Char_Product_Item_E(1,7,0,  268,3796214605299187712, 2,4, 100100,100,100, 0, 0,0,0,0,0,0,'', 10,'2013-02-23 13:52:19','B')}

2013-02-23 13:52:36 err=-1, [Microsoft][ODBC SQL Server Driver][SQL Server]Ошибка при преобразовании типа данных varchar к datetime., SQL STATE: 42000, NATIVE ERROR: 8114 (0x1FB2)

2013-02-23 13:52:36 ::SaveCharacter 268 Samsung ret=1, qerr=-1, {?=call usp_Save_Char_Product_Item_E(1,7,0,  268,3796214605299187712, 2,4, 100100,100,100, 0, 0,0,0,0,0,0,'', 10,'2013-02-23 13:52:19','B')}
Code:
//PS_DBAGENT__charsave log start (DBAgent01)

--<begin>2013-02-23 13:22:13,miuxa,7,Samsung,268

{?=call usp_Save_Char_Info_E(268,80, 0,227, 530,200,71,10,10,14, 37910,3277,15273, 2,261, -1,810885350, 1022.526367,55.895744,1032.230591, 0,200,0,0,0, 660,12,0,0)}

EXEC usp_Save_User_StoredMoney_E 1,7,4421484

{?=call usp_Save_Char_Product_Item_E(1,7,0,  268,3796206238702829568, 2,3, 100100,100,100, 0, 10,'2013-02-23 13:21:54','B')}

{?=call Usp_Save_Char_Item_Mod_E(268,3796206238702829568, 2,3, 0, 0,0,0,0,0,0,'',9)}

{?=call Usp_Save_Char_Skill_Mod_E(268,2,7,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,9,6,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,303,6,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,32,6,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,3,3,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,4,3,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,19,2,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,192,3,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,59,7,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,31,5,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,30,5,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,304,6,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,41,8,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,119,7,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,147,8,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,76,3,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,62,4,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,78,4,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,159,4,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,160,4,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,307,4,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,111,6,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,25,3,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,346,5,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,90,3,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,75,4,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,171,4,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,89,4,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,175,2,0)}

{?=call Usp_Save_Char_Skill_Mod_E(268,181,3,0)}

{?=call Usp_Save_Char_ApplySkill_Del_E(268,0,0,1)}

{?=call Usp_Save_Char_ApplySkill_Add_E2(268,225,1,1438005)}

{?=call Usp_Save_Char_ApplySkill_Add_E2(268,227,1,1438007)}

{?=call Usp_Save_Char_ApplySkill_Add_E2(268,233,1,1438008)}

{?=call Usp_Save_Char_ApplySkill_Add_E2(268,286,3,1438004)}

{?=call Usp_Save_Char_ApplySkill_Add_E2(268,258,3,3583)}

EXEC usp_Save_Char_QuickSlot_Del_E 268

EXEC usp_Save_Char_QuickSlot_Add_E 268,0,0,100,41

EXEC usp_Save_Char_QuickSlot_Add_E 268,0,1,100,147

EXEC usp_Save_Char_QuickSlot_Add_E 268,0,2,100,119

EXEC usp_Save_Char_QuickSlot_Add_E 268,0,3,100,76

EXEC usp_Save_Char_QuickSlot_Add_E 268,0,4,100,62

EXEC usp_Save_Char_QuickSlot_Add_E 268,0,5,100,78

EXEC usp_Save_Char_QuickSlot_Add_E 268,0,6,100,159

EXEC usp_Save_Char_QuickSlot_Add_E 268,0,7,100,160

EXEC usp_Save_Char_QuickSlot_Add_E 268,0,8,100,307

EXEC usp_Save_Char_QuickSlot_Add_E 268,0,9,100,171

EXEC usp_Save_Char_QuickSlot_Add_E 268,1,0,100,59

EXEC usp_Save_Char_QuickSlot_Add_E 268,1,1,100,31

EXEC usp_Save_Char_QuickSlot_Add_E 268,1,2,100,30

EXEC usp_Save_Char_QuickSlot_Add_E 268,1,3,100,111

EXEC usp_Save_Char_QuickSlot_Add_E 268,1,4,1,19

EXEC usp_Save_Char_QuickSlot_Add_E 268,1,5,1,8

EXEC usp_Save_Char_QuickSlot_Add_E 268,1,6,1,0

EXEC usp_Save_Char_QuickSlot_Add_E 268,1,7,1,1

EXEC usp_Save_Char_QuickSlot_Add_E 268,1,8,1,2

EXEC usp_Save_Char_QuickSlot_Add_E 268,1,9,1,3

EXEC usp_Save_Char_QuickSlot_Add_E 268,2,0,100,90

EXEC usp_Save_Char_QuickSlot_Add_E 268,2,1,100,175

EXEC usp_Save_Char_QuickSlot_Add_E 268,2,2,100,181

EXEC usp_Save_Char_QuickSlot_Add_E 268,2,3,100,75

EXEC usp_Save_Char_QuickSlot_Add_E 268,10,0,101,4

EXEC usp_Save_Char_QuickSlot_Add_E 268,10,1,101,4

EXEC usp_Save_Char_QuickSlot_Add_E 268,10,2,101,4

EXEC usp_Save_Char_QuickSlot_Add_E 268,100,1,1,7

EXEC usp_Save_Char_QuickSlot_Add_E 268,21,1,255,0

--<end>2013-02-23 13:22:13,miuxa,7,Samsung,268
fix does not work = (
02/23/2013 11:40 shakalaka_boom#4
конвертацию datetime попробуй.
02/23/2013 11:43 cok28rus#5
Всм
02/25/2013 11:47 DarkHost#6
Сделай @Maketime типом varchar, а потом через функцию Convert преобразуй в datetime. Ошибка возникает из-за того, что функция на входе ждет datetime, а ей приходит varchar.
Подробнее описано тут: [Only registered and activated users can see links. Click Here To Register...]
Так же возникнет ошибка, которую можно исправить так: [Only registered and activated users can see links. Click Here To Register...]