Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff > Flyff Private Server
You last visited: Today at 08:46

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Need a pro in SQL

Discussion on Need a pro in SQL within the Flyff Private Server forum part of the Flyff category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2013
Posts: 16
Received Thanks: 0
Need a pro in SQL

Hi,

I've some SQL error. (don't cause bug but flood of CQuery my VPS)
With the model change of Wurstbrot QT, the errors appear, and if I delete the system, error don't come anymore..

When I login on every character :



Function of line 1283 (DBManager) :

Quote:
BOOL CDbManager::SendItemtoCharacter( int nSlot, CMover* pMover, CQuery *qry, CQuery *qry1, CQuery *qrylog, LPDB_OVERLAPPED_PLUS lpDbOverlappedPlus )
{
// CHARACTER_STR 'S4',@im_idPlayer,@iserverindex
char szQuery[QUERY_SIZE] = { 0,};
DBQryCharacter( szQuery, "S4", pMover->m_idPlayer, g_appInfo.dwSys );

if( FALSE == qry->Exec( szQuery ) )
{
WriteLog( "%s, %d\t%s", __FILE__, __LINE__, szQuery );
return FALSE;
}

BOOL bResult = FALSE;
while( qry->Fetch() )
{
__SendItemContents SendItemContents;
#if __VER >= 12 // __EXT_PIERCING
CItemElem* pItemElem = &SendItemContents.itemElem;
pItemElem->m_bCharged = TRUE;
pItemElem->SetRandomOptItemId( 0 );
#else // __EXT_PIERCING
SendItemContents.nCharged = 1;
#if __VER >= 11 // __SYS_IDENTIFY
SendItemContents.iRandomOptItemId = 0;
#else // __SYS_IDENTIFY
SendItemContents.nRandomOptItemId = 0;
#endif // __SYS_IDENTIFY
#endif // __EXT_PIERCING

if( GetSendItem( qry, &SendItemContents ) == FALSE )
{
#if __VER >= 12 // __EXT_PIERCING
WriteLog( "SendItem::GetSendItem PlayerName = %s, Item_Count = %d Qry = %s", pMover->m_szName, SendItemContents.Item_Count, szQuery );
#endif // __EXT_PIERCING
continue;
}

if( 0 == strcmp( SendItemContents.OneItem, "penya" ) ) // Æä³ÄÀÎÁö È®ÀÎ
{
// Penya Áö±Þ
if( SendPenya( qry1, szQuery, pMover, SendItemContents.Item_Count, SendItemContents.nNo ) == FALSE )
{
WriteLog( "SendItem::SendPenya PlayerName = %s, Item_Count = %d Qry = %s", pMover->m_szName, SendItemContents.Item_Count, szQuery );
continue;
}

bResult = TRUE;

#ifndef __NOLOG
LogItemInfo aLogItem;
aLogItem.SendName = pMover->m_szName;
aLogItem.RecvName = "DB";
aLogItem.Gold = pMover->GetGold() - SendItemContents.Item_Count;
aLogItem.Gold2 = pMover->GetGold();
//aLogItem.ItemName = "SEED";
_stprintf( aLogItem.szItemName, "%d", II_GOLD_SEED1 );
aLogItem.itemNumber = SendItemContents.Item_Count;
aLogItem.Action = "U";
if( ItemLogQuery( qrylog, "LC", aLogItem, pMover->m_idPlayer, SendItemContents.nNo, SendItemContents.OneItem ) == FALSE )
{
// return;
continue;
}
#endif // __NOLOG

}
else // ¾ÆÀÌÅÛ Áö±Þ
{
SERIALNUMBER iSerialNumber = SendItem( qry1, szQuery, pMover, SendItemContents );
if( iSerialNumber != 0 )
{
bResult = TRUE;
#ifndef __NOLOG
LogItemInfo aLogItem;
aLogItem.SendName = pMover->m_szName;
aLogItem.RecvName = "DB";
aLogItem.Gold = pMover->GetGold();
aLogItem.Gold2 = pMover->GetGold();
//aLogItem.ItemName = SendItemContents.OneItem;
_stprintf( aLogItem.szItemName, "%d", SendItemContents.itemElem.m_dwItemId );
aLogItem.itemNumber = SendItemContents.Item_Count;
aLogItem.ItemNo = iSerialNumber;
#if __VER >= 12 // __EXT_PIERCING
aLogItem.nAbilityOption = pItemElem->GetOption();
aLogItem.nItemResist = pItemElem->m_bItemResist;
aLogItem.nResistAbilityOption = pItemElem->m_nResistAbilityOption;
#else // __EXT_PIERCING
aLogItem.nAbilityOption = SendItemContents.m_nAbilityOption;
aLogItem.nItemResist = SendItemContents.nItemResist;
aLogItem.nResistAbilityOption = SendItemContents.nResistAbilityOption;
#endif // __EXT_PIERCING
aLogItem.Action = "U";
if( ItemLogQuery( qrylog, "LC", aLogItem, pMover->m_idPlayer, SendItemContents.nNo, SendItemContents.OneItem ) == FALSE )
{
// return;
continue;
}
#endif // __NOLOG
}
else
{
// return;
continue;
}
}


}
// else
// {
// return;
// }
// }
return bResult;
}
Everything it's okey in source, i don't understand.. Please help !!
engxexphili is offline  
Old 12/18/2013, 23:01   #2
 
elite*gold: 0
Join Date: Oct 2012
Posts: 948
Received Thanks: 157
SQLSTATE:22007 error:[Microsoft][SQL Server Native Client 10.0][SQL Server]The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

There is your error. You are trying to convert an Varchar type to an datetime type that wont work. So you will nee to check the model change snippets to see if something is out of the order.
raventh1984 is offline  
Old 12/20/2013, 11:55   #3
 
elite*gold: 0
Join Date: Jun 2013
Posts: 16
Received Thanks: 0
There is no datetime convert needed in model change.

Code in DbManagerSave :

So I don't understand..
engxexphili is offline  
Old 12/20/2013, 17:13   #4
 
xTwiLightx's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,739
Received Thanks: 1,669
We might take a look into your CHARACTER_STR 'S4' statement.

Mine is as follows:
Code:
ELSE
IF @iGu = 'S4' -- A©¬¡Æ¢®CO ¨ú¨¡AIAU E¢çAI
	BEGIN

	declare @s4_account varchar(32), @i1_e_date datetime

		declare @q1 nvarchar(4000)

		set @q1 = '
		SELECT 	Item_Name, Item_count, m_nAbilityOption, m_nNo, m_bItemResist, m_nResistAbilityOption,
			m_bCharged, nPiercedSize, adwItemId0, adwItemId1, adwItemId2, adwItemId3, adwItemId4,
			m_dwKeepTime, nRandomOptItemId,
			isnull(adwItemId5, 0) as adwItemId5, isnull(adwItemId6, 0) as adwItemId6, isnull(adwItemId7, 0) as adwItemId7, isnull(adwItemId8, 0) as adwItemId8, isnull(adwItemId9, 0) as adwItemId9, isnull(nUMPiercedSize, 0) as nUMPiercedSize,
			isnull(adwUMItemId0, 0) as adwUMItemId0, isnull(adwUMItemId1, 0) as adwUMItemId1, isnull(adwUMItemId2, 0) as adwUMItemId2, isnull(adwUMItemId3, 0) as adwUMItemId3, isnull(adwUMItemId4, 0) as adwUMItemId4
		FROM ITEM_SEND_TBL 
		WHERE m_idPlayer = @im_idPlayer 	
			AND serverindex = @iserverindex
			AND ItemFlag = 0'
		exec sp_executesql @q1, N'@im_idPlayer char(7), @iserverindex char(2)', @im_idPlayer, @iserverindex
		RETURN
	END
Quote:
Originally Posted by engxexphili View Post
There is no datetime convert needed in model change.

Code in DbManagerSave :

So I don't understand..
But CHARACTER_STR 'S4' uses datetime.
xTwiLightx is offline  
Reply




All times are GMT +2. The time now is 08:46.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.