网站上传服务器后隔一段时间就挂了,重启IIS后可以,再一会儿又挂了.

时间:2022-03-14 04:39:56
弄了个投票的网站,本地测试没问题,上传国内服务器也没问题,传到国外服务器开始没问题,但过一段时间就挂了,没有连接数据库(access)的页面可以正常访问,所有有连接数据库的页面都无法访问(用的是AccessHelper应该不会有数据打开没有关闭的问题),在服务器上打开得到以下错误,但log日志里面却没任何记录,想了好久不明白是什么原因,希望各位大虾帮帮忙看是啥原因.
Server Error in '/actions/prom_usa_0701' Application. 

--------------------------------------------------------------------------------

Unspecified error 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.OleDb.OleDbException: Unspecified error

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 
 


Stack Trace: 

 
[OleDbException (0x80004005): Unspecified error]
   System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +969373
   System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +86
   System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +29
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +4863644
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
   System.Data.OleDb.OleDbConnection.Open() +40
   AccessHelper.PrepareCommand(OleDbCommand cmd, OleDbConnection conn, OleDbTransaction trans, String cmdText, OleDbParameter[] cmdParms) +38
   AccessHelper.ExecuteDataSet(String connectionString, String cmdText, OleDbParameter[] commandParameters) +94
   sqltext.phhui_SelectTable(String img, String[] val) +202
   votes.bind() +49
   votes.Page_Load(Object sender, EventArgs e) +148
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +50
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
 

 


--------------------------------------------------------------------------------

Version Information: Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3614


上面的错误代码有到网上搜索了一下,有一个说是服务器临时文件太多导致的,但服务器是国外的,自己无法控制,不知道有何办法解决.

5 个解决方案

#1


conn连接池满了,你没有及时释放conn。

仔细检查你的代码是如何连接并释放数据库的(另外注意一下检查datareader是否及时close了)

#2


谢谢,但我用的基本都是dataset,而且数据操作类用的是微软提供的AccessHelper,我对数据连接关闭的实在是很不懂,所以用微软的,应该不会有没有及时释放或没关闭的问题才对.

#3


ACCESS文件有多大了?

#4


是不是数据太多了,导致数据库大小太大了?

#5


这种问题 还是要慢慢排查的 
你先回收程序池
看看代码有没有用SQLDATAREADER 看看有没有关毕
还有数据查询的量是不是很大 等等 

#1


conn连接池满了,你没有及时释放conn。

仔细检查你的代码是如何连接并释放数据库的(另外注意一下检查datareader是否及时close了)

#2


谢谢,但我用的基本都是dataset,而且数据操作类用的是微软提供的AccessHelper,我对数据连接关闭的实在是很不懂,所以用微软的,应该不会有没有及时释放或没关闭的问题才对.

#3


ACCESS文件有多大了?

#4


是不是数据太多了,导致数据库大小太大了?

#5


这种问题 还是要慢慢排查的 
你先回收程序池
看看代码有没有用SQLDATAREADER 看看有没有关毕
还有数据查询的量是不是很大 等等