[HELP] Error?

05/15/2010 18:17 mykolap#1
I think this is an error caused by my MSSql. And this is probably why my client cant log in onto the server.

Code:
3360: ..\Share\Action\Brick\insidefort.36076.csv

2532: >> [ 10B41B48 ][ 192.168.1.45 ]--- Server Connected ---
3360: ------------------ Connect Messenger Server IP : [ 192.168.1.45 ] --------
----------
2532: OnCONNECT >>>Serverindex 1
3360: ------------------ Connect Cast Server IP : [ 192.168.1.45 ] -------------
-----
3080: >> [ 10B42AE0 ][ 192.168.1.45 ]--- Server Connected ---
3080: Provider::Execute( CCHAR * szName )
szName: SP_SIEGE_INFO_R
Microsoft OLE DB Provider for SQL Server: Syntax error converting datetime from
character string.
3080: [ CRITICAL ERROR ] SP_SIEGE_INFO_R CALL FAIL
And yes i know that that IP address is a local address. So my client IP's are local too since I am making a test client atm.
05/16/2010 01:58 xfactorbowler#2
Code:
USE [Character]
GO

/****** Object:  UserDefinedFunction [dbo].[FN_BinDateToDateTime]    Script Date: 01/10/2010 19:35:14 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO




/******************************************************************************
   이  름 : dbo.FN_BinDateToDateTime
   설  명 : Binary Date를 DateTime 형식으로 반환한다.
   반환값 : 
   수정내역:
   Ver        Date        Author           Description
   ---------  ----------  ---------------  ------------------------------------
   1.0        2006-05-05  Han Ji Wook      1. 초기생성
   2.0        2010-01-10  ADM-Cyrax/Darth Nerd
 ******************************************************************************/
ALTER  FUNCTION [dbo].[FN_BinDateToDateTime] (
	@i_bin_time	binary(4)
) RETURNS datetime
AS
BEGIN
	DECLARE @v_datetime	datetime
	DECLARE @v_strAux varchar(20)
	DECLARE @v_strtime	varchar(20)
	SET @v_strAux = CAST(CAST(@i_bin_time as int) as varchar(20))
	IF len(@v_strAux) = 7	
		SELECT	@v_strtime	= '20100' + CAST(CAST(@i_bin_time as int) as varchar(20))
	ELSE
		IF len(@v_strAux) = 8 
			SELECT	@v_strtime	= '2010' + CAST(CAST(@i_bin_time as int) as varchar(20))
		ELSE
				SELECT	@v_strtime	= '201' + CAST(CAST(@i_bin_time as int) as varchar(20))

	
	SELECT	@v_strtime	= SUBSTRING(@v_strtime,1,4)
						+'-'+SUBSTRING(@v_strtime,5,2)
						+'-'+SUBSTRING(@v_strtime,7,2)
						+' '+SUBSTRING(@v_strtime,9,2)
						+':'+SUBSTRING(@v_strtime,11,2)	
	SELECT	@v_datetime = CAST(@v_strtime as datetime)
	RETURN @v_datetime
END
credit goes to DarthNerd for this fix.
05/16/2010 20:46 mykolap#3
That worked like a charm.