c# mysql 链接池溢出_C#MySQL连接池限制,并清理连接
我有一个简单的DB管理器类(一个比它的能力更值得的名字):
class DbManager
{
private MySqlConnectionStringBuilder _connectionString;
public DbManager()
{
_connectionString = new MySqlConnectionStringBuilder();
_connectionString.UserID = Properties.Database.Default.Username;
_connectionString.Password = Properties.Database.Default.Password;
_connectionString.Server = Properties.Database.Default.Server;
_connectionString.Database = Properties.Database.Default.Schema;
_connectionString.MaximumPoolSize = 5;
}
public MySqlConnection GetConnection()
{
MySqlConnection con = new MySqlConnection(_connectionString.GetConnectionString(true));
con.Open();
return con;
}
}
然后我在其他地方有另一个类来表示其中一个表中的记录,我填充它如下:
class Contact
{
private void Populate(object contactID)
{
using (OleDbConnection con = DbManager.GetConnection())
{
string q = "SELECT FirstName, LastName FROM Contacts WHERE ContactID = ?";
using (OleDbCommand cmd = new OleDbCommand(q, con))
{
cmd.Parameters.AddWithValue("?", contactID);
using (OleDbDataReader reader = cmd.ExecuteReader())
{
if (reader.HasRows)
{
reader.Read();
this.FirstName = reader.GetString(0);
this.LastName = reader.GetString(1);
this.Address = new Address();
this.Address.Populate(ContactID)
}
}
}
}
}
}
class Address
{
private void Populate(object contactID)
{
using (OleDbConnection con = DbManager.GetConnection())
{
string q = "SELECT Address1 FROM Addresses WHERE ContactID = ?";
using (OleDbCommand cmd = new OleDbCommand(q, con))
{
cmd.Parameters.AddWithValue("?", contactID);
using (OleDbDataReader reader = cmd.ExecuteReader())
{
if (reader.HasRows)
{
reader.Read();
this.Address1 = reader.GetString(0);
}
}
}
}
}
}
现在我认为所有using语句都会确保连接在完成后返回到池中,为下次使用做好准备,但是我有一个循环创建了数百个这样的联系人并填充它们,似乎连接没有被释放.
连接,命令和阅读器都在自己的使用语句中.
c# mysql 链接池溢出_C#MySQL连接池限制,并清理连接相关推荐
- mac mysql 链接_mac上搭建mysql环境配置和Navicat连接mysql
mac上搭建mysql环境配置 注意:mysql版本要和你的MAC版本保持一致 2.一路傻瓜式点击下一步 此处选择"Use Legacy Password Encryption", ...
- aws mysql链接_AWS Lambda和MySQL连接处理
我目前正在使用awslambda(python3.6)与MySQL数据库进行通信.我还有Slack命令来触发对数据库的查询.有时,我注意到,我可以直接通过MySQL Workbench进行更改,然后通 ...
- c# mysql数据库查询语句_C# mysql 查询
展开全部 |mysql> select * from test_book1; +------+-----------+--------------------------------+ |e68 ...
- mysql创建超市管理_C#+mysql实现的超市管理系统
[实例简介] 本资源是是一套利用C#与MYSQL数据写的小型超市管理系统,可以实现基本的功能. [实例截图] [核心代码] 超市管理系统 └── 超市管理系统 ├── AYCSGJ │ ├── A ...
- 下载mysql链接库
下载mysql链接库 https://dev.mysql.com/downloads/ 下载安装包 选择C链接库 选择Linux平台64位,最后下载 下载好就可以上传到服务器上了
- .net 访问mysql链接池_c# – .NET SqlConnection类,连接池和重新连接逻辑
我们有一些客户端代码,它使用.NET中的SqlConnection类与SQLServer数据库通信.它会间歇性地失败并出现此错误: "ExecuteReader需要一个开放且可用的连接.连接 ...
- oracle和mysql登录方式_使用普通方式和连接池方式获取Oracle和Mysql链接
数据库连接方式 package com.niit.gb.comm; import java.sql.Connection; import java.sql.DriverManager; public ...
- c#.net配置mysql数据库连接池_C#MySQL连接池
我正在使用C#多线程应用程序并使用 MySQL与整个应用程序的单一连接.但是当两个或多个线程同时尝试访问数据库时,我得到以下错误: There is already an open DataReade ...
- nodeJS+mysql+连接池——连接池的创建和使用
nodeJS+mysql+连接池--连接池的创建和使用 https://www.cnblogs.com/shenlonghun/p/6133963.html 介绍 在 软件工程 , 连接池 是一个 高 ...
最新文章
- IOS UITabBarViewController 修改背景颜色
- Nginx日志配置及分割
- python的单元测试unittest模块
- 百旺智能编码_极速开票,智能编码,一键匹配,颠覆了传统手动输入的开票模式,再也不用担心选错税收分类编码啦...
- 浅议一种低成本的48V蓄电池组电压电流采集模块
- C语言中callback回调函数,C++回调函数(callback)的使用
- 一元三次、四次方程求解
- 2008英语四6级CET6资料大学六级单词
- c 语言 登陆窗口界面,c/c++语言实现登陆界面
- 简单易懂的并查集算法以及并查集实战演练
- 远程辅助必备免费神器ToDesk远程控制软件(答辩,远程,调试,办公)必备远程工具
- 2021年标准员-岗位技能(标准员)考试资料及标准员-岗位技能(标准员)模拟考试题
- 微信小程序图片验证组件封装
- Android 自定义数字角标
- oracle出现“无法为表空间 XX 中的段创建 INITIAL 区”错误
- bootloader与uboot之间有什么联系?
- 新网站多久被google收录?谷歌当天收录网站靠谱吗?
- Spring 源码中设计模式?这样回答面试官.才能显得你技高一筹.
- 联络家CEO许智凯:SNS网络只是一个平台(转载)
- Python14-15