解决JoinServer报错以及日志无限增大的方法
检查一下你的数据库里面是否缺少UseLog这张表.
如果没有
请用
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UseLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[UseLog]
GO
CREATE TABLE [dbo].[UseLog] (
[ServerName] [n<I>var</I>char] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Id] [n<I>var</I>char] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Ip] [n<I>var</I>char] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[State] [n<I>var</I>char] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Ipguid] [int] NULL ,
[UsedTime] [int] NULL ,
[PayCode] [int] NULL
) ON [PRIMARY]
GO
生成
===========================================================================================================
后备方案,建议使用上面的操作方法
目前在我们的数据库里面缺少
SP_MEMB_CHK_2
SP_MEMB_CHK
SP_MEMB_MOD
SP_SETT_APP
SP_SETT_HP_Fail
WZ_CONNECT_MEMB
WZ_DISCONNECT_MEMB
这几个存储过程(大部分是用来做),导致joinserver在调用的时候出错,不停报错,
日志文件飞速增加,另外计费的语句中有一个Select getdate()语句与因为这些数据库的不完整,无线循环与数据库通讯,使得Joinserver暂用资源上升,导致当机。
针对这种情况,我们作如下修改可暂时解决:
1.用uedit打开你的joinServer.exe
2.搜索:
“6578656320575A5F434F4E4E4543545F4D454D4220272573272C272573272C27257327”
替换为“0000000000000000000000000000000000000000000000000000000000000000000000”
搜索:
"6578656320575A5F444953434F4E4E4543545F4D454D422027257327"
替换成
“00000000000000000000000000000000000000000000000000000000”
搜索:
“53454C45435420676574646174652829”
替换成
"00000000000000000000000000000000"
搜索:
“5573654C6F672559256D2564”
替换成
“5573654C6F67000000000000”(这里是修正USELOG表的名称)
这样,把里面关于计费的一些存储过程,以及数据库时间校验的语句屏蔽掉,
减少了JOINSERVER的报错信息,使日志文件减少,同时因为发送给数据库的指令
是空语句,减少程序与数据库的压力,使JOINSERVER更稳定。