[SQL] CHARACTER_STR Fehler im S8 Abschnitt

04/22/2013 19:50 ©ross#1
Hi,

Fehler:
PHP Code:
2013/04/22    19:42:40
query
:CHARACTER_STR 'S8',@im_idPlayer='0000011',@iserverindex='01',@iaccount='cross'
SQLSTATE:42000 error:[Microsoft][SQL Server Native Client 10.0][SQL Server]Die Prozedur oder Funktion 'CHARACTER_STR' erwartet den '@im_szName'-Parameterder nicht bereitgestellt wurde
Wann tritt er auf?
Beim einloggen in den Worldserver.
Es kommt lediglich die Meldung, das die Verbindung nicht hergestellt werden kann.

Irgendjemand ne idee? ;)
04/22/2013 20:18 xTwiLightx#2
Etwas am Code oder an der Prozedur geändert?
Das bedeutet eigentlich, dass der Client den Charnamen (@im_szName) nicht weitergibt.

Und wenn ich in meine Prozedur schaue, wird @im_szName dort gar nicht verarbeitet. :o

Hier:
Code:
IF @iGu = 'S8' -- 데이터 전체 가져오기
	BEGIN

				-- 뱅크 정보 가져오기 character 별

				SELECT @om_chLoginAuthority = m_chLoginAuthority
				  FROM  ACCOUNT.ACCOUNT_DBF.dbo.ACCOUNT_TBL_DETAIL 
				WHERE account   = @iaccount
				
				SELECT	m_chLoginAuthority = @om_chLoginAuthority,
								A.account,
								A.m_idPlayer,
								A.playerslot,
								A.serverindex,
								A.dwWorldID,
								A.m_szName,
								A.m_dwIndex,
								A.m_vScale_x,
								A.m_dwMotion,
								A.m_vPos_x,
								A.m_vPos_y,
								A.m_vPos_z,
								A.m_fAngle,
								A.m_szCharacterKey,
								A.m_idPlayer,
								A.m_nHitPoint,
								A.m_nManaPoint,
								A.m_nFatiguePoint,
								A.m_nFuel,
								A.m_dwSkinSet,
								A.m_dwHairMesh,
								A.m_dwHairColor,
								A.m_dwHeadMesh,
								A.m_dwSex,
								A.m_dwRideItemIdx,
								A.m_dwGold,
								A.m_nJob,
								A.m_pActMover,
								A.m_nStr,
								A.m_nSta,
								A.m_nDex,
								A.m_nInt,
								A.m_nLevel,
								A.m_nMaximumLevel,
								A.m_nExp1,
								A.m_nExp2,
								A.m_aJobSkill,
								A.m_aLicenseSkill,
								A.m_aJobLv,
								A.m_dwExpertLv,
								A.m_idMarkingWorld,
								A.m_vMarkingPos_x,
								A.m_vMarkingPos_y,
								A.m_vMarkingPos_z,
								A.m_nRemainGP,
								A.m_nRemainLP,
								A.m_nFlightLv,
								A.m_nFxp,
								A.m_nTxp,
								A.m_lpQuestCntArray,
								m_aCompleteQuest = ISNULL(A.m_aCompleteQuest,'$'),
								A.m_chAuthority,
								A.m_dwMode,
								A.m_idparty,
								A.m_idCompany,
								A.m_idMuerderer,
								A.m_nFame,
								A.m_nDeathExp,
								A.m_nDeathLevel,
								A.m_dwFlyTime,
								A.m_nMessengerState,
								A.End_Time,
								A.BlockTime,
								A.blockby,
								A.isblock,
								A.TotalPlayTime,
								A.CreateTime,
								A.m_dwSkillPoint,
								B.m_aSlotApplet,								
								B.m_aSlotQueue,
								B.m_SkillBar,
								C.m_aSlotItem,
								D.m_Inventory,
								D.m_apIndex,
								D.m_adwEquipment,
								D.m_dwObjIndex,
								m_idGuild = ISNULL(G.m_idGuild,'0'),
								m_idWar = ISNULL(G.m_idWar,'0'),
								A.m_tmAccFuel,
								A.m_tGuildMember,		
								m_dwSMTime = ISNULL(H.m_dwSMTime,'NULL')	,
								SkillInfluence = ISNULL(E.SkillInfluence,'$'),
								F.m_extInventory,																						 		
								F.m_InventoryPiercing,
								A.m_dwReturnWorldID,
								A.m_vReturnPos_x,
								A.m_vReturnPos_y,
								A.m_vReturnPos_z,
								last_connect = @last_connect,
								A.m_SkillPoint,
								A.m_SkillLv,
						        A.m_SkillExp,
						      -------------- (2006 11 13 추가 부분 : Attedant Event)
						        A.dwEventFlag,
						        A.dwEventTime,
						        A.dwEventElapsed
						      -------------- (Version8 : PK System)
								,A.PKValue 		as m_nPKValue
								,A.PKPropensity as m_dwPKPropensity
								,A.PKExp 		as m_dwPKExp
						      -------------- (Version8 : Angel System)
								,A.AngelExp 	as m_nAngelExp
								,A.AngelLevel 	as m_nAngelLevel
							------------------- Version9 Pet
								,F.szInventoryPet as szInventoryPet
								,A.m_dwPetId
								, A.m_nExpLog, A.m_nAngelExpLog
								, m_nCoupon
								---------------- ver.13
								, A.m_nLayer
								---------- Ver 15
								, A.m_aCheckedQuest	
								, A.m_nCampusPoint
								, A.idCampus
								, isnull(R.m_nRestPoint, 0) m_nRestPoint
								, isnull(R.m_LogOutTime, 0) m_LogOutTime
   FROM CHARACTER_TBL A   
     inner join TASKBAR_TBL B on A.m_idPlayer   = B.m_idPlayer and A.serverindex  = B.serverindex  
     inner join TASKBAR_ITEM_TBL C on B.m_idPlayer   = C.m_idPlayer and B.serverindex  = C.serverindex  
     inner join INVENTORY_TBL D on C.m_idPlayer   = D.m_idPlayer and C.serverindex  = D.serverindex  
     inner join SKILLINFLUENCE_TBL E on D.m_idPlayer   = E.m_idPlayer and D.serverindex  = E.serverindex  
     inner join INVENTORY_EXT_TBL F on E.m_idPlayer   = F.m_idPlayer and E.serverindex  = F.serverindex  
     left outer join GUILD_MEMBER_TBL G on F.serverindex = G.serverindex and F.m_idPlayer = G.m_idPlayer  
     left outer join BILING_ITEM_TBL H on F.serverindex = H.serverindex and F.m_idPlayer = H.m_idPlayer  
     left outer join tblRestPoint R on F.serverindex = R.serverindex and F.m_idPlayer = R.m_idPlayer  
   WHERE A.m_idPlayer = @im_idPlayer  
     AND A.serverindex = @iserverindex  
     AND A.account = lower(@iaccount)  
  
   insert into CHARACTER_TBL_validity_check (m_idPlayer, serverindex, account, m_szName, TotalPlayTime, m_dwGold, m_nLevel, m_nJob, sum_ability, CreateTime)  
   select m_idPlayer, serverindex, account, m_szName, TotalPlayTime, m_dwGold, m_nLevel, m_nJob, (m_nStr + m_nSta + m_nDex + m_nInt), CreateTime  
   from CHARACTER_TBL (nolock)  
   where m_idPlayer = @im_idPlayer and TotalPlayTime <= 1  
    and (m_dwGold >= 1 or m_nLevel >= 2 or m_nJob >= 1 or (m_nStr + m_nSta + m_nDex + m_nInt) > 60)  
  
  
   declare @m_dwGold_old bigint, @m_dwGold_now bigint  
   select @m_dwGold_old = m_dwGold from tblLogout_Penya (nolock) where m_idPlayer = @im_idPlayer  
   select @m_dwGold_now = m_dwGold from CHARACTER_TBL (nolock) where serverindex = @iserverindex and m_idPlayer = @im_idPlayer  
   if (@m_dwGold_old <> @m_dwGold_now)  
   begin  
    insert into tblLogout_Penya_Diff_Log (serverindex, m_idPlayer, m_dwGold_old, regdate_old, m_dwGold_now)  
    select serverindex, m_idPlayer, @m_dwGold_old, regdate, @m_dwGold_now  
    from tblLogout_Penya (nolock)  
    where m_idPlayer = @im_idPlayer and serverindex = @iserverindex  
   end  
  
				-- 뱅크 정보 가져오기 account 별
	
-- 				DECLARE @bank TABLE (m_idPlayer CHAR(6),serverindex CHAR(2),playerslot INT)
-- 
-- 				INSERT @bank
-- 				(m_idPlayer,serverindex,playerslot)
--               SELECT m_idPlayer,serverindex,playerslot 
--               FROM CHARACTER_TBL 
--               WHERE account = @iaccount 
--               AND isblock = 'F'
--               ORDER BY playerslot

				SELECT  a.m_idPlayer,
								c.playerslot,
 								a.m_Bank,
								a.m_apIndex_Bank,
								a.m_dwObjIndex_Bank,
								a.m_dwGoldBank,
								a.m_BankPw,				 		
								b.m_extBank,
						                            b.m_BankPiercing
								,b.szBankPet
				   FROM 	dbo.BANK_TBL a,
                            dbo.BANK_EXT_TBL b,	
                            dbo.CHARACTER_TBL  c
               WHERE 	a.m_idPlayer = b.m_idPlayer
                    AND a.serverindex = b.serverindex
                    AND b.m_idPlayer = c.m_idPlayer
                    AND b.serverindex = c.serverindex
 					  AND c.account = @iaccount 
                    AND c.isblock = 'F'
				ORDER BY c.playerslot

				-- 휴대 가방 가져오기
				
				SELECT	a.nPocket,
					a.szItem,
					a.szIndex,
					a.szObjIndex,
					a.bExpired,
					a.tExpirationDate,
					b.szExt,
					b.szPiercing,
					b.szPet
			FROM	tblPocket as a inner join tblPocketExt as b
				on a.serverindex = b.serverindex AND a.idPlayer = b.idPlayer AND a.nPocket = b.nPocket
			WHERE a.serverindex = @iserverindex AND a.idPlayer = @im_idPlayer
			ORDER BY a.nPocket
		RETURN
	END
/*
	
	 데이터 전체 가져오기 New
	 ex ) 
	 CHARACTER_STR 'S8',@im_idPlayer,@iserverindex,@iaccount
	 CHARACTER_STR 'S8','425120','01','ata3k'
*/
Unten am exec Beispiel sieht man auch, dass @im_szName gar nicht gebraucht wird (zumindest nicht beim Step 8).
04/22/2013 20:19 ©ross#3
Nope.
Ist - wenn ich mich irre - deine releaste v14 db aus core.

Währe der Fehler logisch gings ja noch aber so such ich grad den sinn xD