嗨,谢谢你的阅读。
我的英语不好,所以我希望你能理解我。
我有一个MySQL连接,它打开和关闭连接,它允许我读,写,删除和所有的SQL语句,但问题是当我关闭连接时,似乎是关闭连接,但在MySQL中保持连接打开。
这就是代码。
Imports MySql.Data.MySqlClient
Public Shared MySQLConexion As MySqlConnection
Public Shared Function Conectar_Desconectar(ByVal Switch) As Boolean
Conectar_Desconectar = 0
If Switch = 1 Then
MySQLConexion = New MySqlConnection("server=MyServer; user id=MyUser; password=MyPass;database='MyBd'")
Try
MySQLConexion.Open()
Conectar_Desconectar = 1
Catch ex As Exception
End Try
Else
Try
MySQLConexion.Close()
MySQLConexion = Nothing
Conectar_Desconectar = 1
End If
End If
Catch ex As Exception
Exit Function
End Try
End If
Exit Function
End Function希望你们能帮助我。谢谢
发布于 2014-07-08 06:47:30
原因是连接池,这是许多ADO.NET提供商实现的。您的MySqlConnection实际上是一个相当轻量级的对象,数据库连接本身存在于较低的级别。当您创建新的MySqlConnection时,提供程序将检查该连接字符串是否已有池,如果有则使用它,否则将创建一个新池。
每个连接字符串只有一个池。当您关闭MySqlConnection对象时,池的底层数据库连接将保持打开一段时间,以便在打开另一个连接时更快地进行连接。如果在一段时间内没有建立新连接,提供程序将关闭基础数据库连接。这就是为什么建议按需打开和关闭ADO.NET连接:它们正是针对这一点进行了优化。
https://stackoverflow.com/questions/24618468
复制相似问题