我数据库用的是MYSQL
先贴出我连接数据库的代码:
- VB.NET code
Public Sub New() connectingstring = System.Configuration.ConfigurationSettings.AppSettings("Conn").ToString.Trim 'connectingstring = "server=localhost;user id=root;pwd=;database=proto_management" myConn = New MySqlConnection(connectingstring) 'Close() End Sub Public Sub Close() myConn.Close() myConn.Dispose() End Sub
我是调用web.config的connection来连接数据库的
再贴出我web.config的代码:
- XML code
<connectionStrings> <add name="ConnectionString" connectionString="DSN=MySQL;" providerName="System.Data.Odbc" /> </connectionStrings>
我每次调用New()都会带上close()的但是当我操作我的程序时。也其实就是增删查改 到不知道多少次的时候就会报出Too Many Connections 的warning。我上网查过 他们说改mysql的配置文件把连接端口增加到10000或者更多,但是这并不能根治Too Many Connections的错误。
其实这个错误就是打开端口过多。但是我每次打开端口的时候都调用了close的函数了啊。为什么端口还是存在呢?是挂在内存里面吗?我后来在close()的函数里面再加了dispose。但是一点效果都没有,还是继续Too Many Connections。请大家帮忙解答,解答。因为代码过多。在这不好贴出来。这个程序我是用类集约函数的。当需要连接的时候NEW()close()都是在这个类里面调用。这个类里面还有很多绑定函数,期间都有调用到NEW()而且每次最后都会close().请大家帮我分析分析 谢谢。
------解决方案--------------------------------------------------------
给你一个建议:
声明两个int变量intNew和intClose,每次New()的时候intNew++,每次Close()的时候intClose++,
在报错的时候看看两个变量的差是否>1或更多