Problems with SQL 2019 and Linked Servers

gualoki

Member
Joined
Dec 29, 2023
Messages
8
Hi, I've found a problem with the game Bank, (not related to sdev DLLs), and this is the error I get:
err=-1, [Microsoft][ODBC SQL Server Driver][SQL Server]Transaction context in use by another session., SQL STATE: 42000, NATIVE ERROR: 3910 (0xF46)
It happens this way:

1)Take an item from the Bank Teller, put it on your bag
2)Go to character screen, and the client just DC
3) When you relog, the item is still in the bank and you get a rollback, since your data was not saved to the DB
::SaveCharacter 16 uno ret=1, qerr=-1, {?=call usp_Save_Char_Product_Item_E

I've read that it could be related to SQL Server's MARS functionality and Linked Servers (which shaiya use).
Im using SQL Server 2019.

Did this happen to any of you?
 
yes I had that one exactly, but same result
E:\SERVER\PSM_Client\Bin\ps_dbAgent.exe, loaded at 0x00400000 - 11/09/14 16:20:57
2024-01-26 20:41:00 ### Connect[12960] : Game[?][0x00FF8F28], Addr=127.0.0.1, DBJobEnd=1
2024-01-26 20:41:00 ### DB_SYSTEM_CONNECT[8736] :Game[1][0x00FF8F28], Name=Game01, Addr=127.0.0.1
2024-01-26 22:57:02 err=-1, [Microsoft][ODBC SQL Server Driver][SQL Server]Transaction context in use by another session., SQL STATE: 42000, NATIVE ERROR: 3910 (0xF46)
2024-01-26 22:57:02 ::SaveCharacter 16 uno ret=1, qerr=-1, {?=call usp_Save_Char_Product_Item_E(1,3,0, 16,6950582735173910528, 1,2, 23030,23,30, 0, 0,0,0,0,0,0,'', 1,'2024-01-26 22:56:44','B')}
2024-01-26 22:57:07 err=-1, [Microsoft][ODBC SQL Server Driver][SQL Server]Transaction context in use by another session., SQL STATE: 42000, NATIVE ERROR: 3910 (0xF46)
and this one

//PS_DBAGENT__charsave log start (DBAgent01)

--<begin>2024-01-26 22:57:07,adm,3,uno,16

{?=call usp_Save_Char_Info_E(16,200, 0,1000, 14,12,9,8,7,15, 65535,65535,65535, 42,316, 501957155,-295313749, 63.581787,1.846809,70.404968, 0,200,0,0,0, 0,0,0,0)}

EXEC usp_Save_User_StoredMoney_E 1,3,0

{?=call usp_Save_Char_Product_Item_E(1,3,0, 16,6950582735173910528, 1,2, 23030,23,30, 0, 1,'2024-01-26 22:56:44','B')}

{?=call Usp_Save_Char_Item_Mod_E(16,6514218818681375063, 0,0, 1000, 99,0,0,0,0,0,'00000000000000000070',1)}

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

{?=call Usp_Save_Char_ApplySkill_Add_E2(16,225,1,2591647)}

{?=call Usp_Save_Char_ApplySkill_Add_E2(16,227,1,2591647)}

{?=call Usp_Save_Char_ApplySkill_Add_E2(16,233,1,2591647)}

{?=call Usp_Save_Char_ApplySkill_Add_E2(16,286,3,2591647)}

EXEC usp_Save_Char_QuickSlot_Del_E 16

EXEC usp_Save_Char_QuickSlot_Add_E 16,0,3,100,39

EXEC usp_Save_Char_QuickSlot_Add_E 16,0,4,101,4

EXEC usp_Save_Char_QuickSlot_Add_E 16,0,9,100,458

EXEC usp_Save_Char_QuickSlot_Add_E 16,1,2,100,450

EXEC usp_Save_Char_QuickSlot_Add_E 16,1,9,101,3

--<end>2024-01-26 22:57:07,adm,3,uno,16
The second log, are normal logs you added to dbagent? I mean, they're not error logs.
 
Ok, it was my mistake ????, after using you SP, a new log error showed up, it was the BuyDate being NULL on Users_Product, since I added the items manually, without a date (and the ProductLog table didn't like that NULL) so, my bad, sorry for the trouble.
 
it's no trouble at all. it's odd how that stuff works sometimes when it's a transaction. seems like it won't tell you when an insert fails somewhere in the midst of it. i'm glad you figured it out.
 
Back
Top