C# MySqlConnection 不会关闭

2023-12-26

我有一个应用程序触发 mysql 命令(查询)“显示数据库”,查询正常工作并返回,但我无法关闭连接。我使用的用户同时允许 24 个连接,因此问题在我的程序中进一步出现,但将允许的连接减少到 2 个表明我什至无法关闭第一个查询(它不在循环中)。代码如下:

    protected override Dictionary<string, Jerow_class_generator.Database> loadDatabases()
    {
        MySqlConnection sqlCon = new MySqlConnection(this.ConnectionString);
        sqlCon.Open();

        MySqlCommand sqlCom = new MySqlCommand();
        sqlCom.Connection = sqlCon;
        sqlCom.CommandType = CommandType.Text;
        sqlCom.CommandText = "show databases;";

        MySqlDataReader sqlDR;
        sqlDR = sqlCom.ExecuteReader();

        Dictionary<string, Jerow_class_generator.Database> databases = new Dictionary<string, Jerow_class_generator.Database>();
        string[] systemDatabases = new string[] { "information_schema", "mysql" };

        while (sqlDR.Read())
        {
            string dbName = sqlDR.GetString(0);
            if (!systemDatabases.Contains(dbName))
            {
                databases.Add(sqlDR.GetString(0), new MySQL.Database(dbName, this));
            }
        }

        sqlCom.Dispose();
        sqlDR.Close();

        sqlCon.Close();
        sqlCon.Dispose();
        return databases;
    }

附: '新 MySQL.Database(dbName, this));'是我自己制作的类,仅存储数据库结构,可以认为是无关紧要的。

我得到的确切错误是“max_user_connections”。在下次需要触发查询时的 connection.open 行上。


而不是跟踪所有Open/Close/Dispose到处打电话,我建议将所有这些替换为using声明 http://msdn.microsoft.com/en-us/library/yh598w02.aspx。这将确保每个对象的预期范围是明确的,并且在退出该范围时将被销毁/处置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# MySqlConnection 不会关闭 的相关文章

  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 多个客户端如何同时连接到服务器上的一个端口(例如 80)? [复制]

    这个问题在这里已经有答案了 我了解端口工作原理的基础知识 但是 我不明白的是多个客户端如何同时连接到端口 80 我知道每个客户端都有一个唯一的 对于他们的机器 端口 服务器是否从可用端口回复客户端 并简单地声明回复来自 80 这是如何运作的
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 在 MySQL 中使用 COUNT 时如何返回 0 而不是 null

    我使用此查询返回存储在 sTable 中的歌曲列表以及存储在 sTable2 中的总项目数 SQL queries Get data to display sQuery SELECT SQL CALC FOUND ROWS str repl
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 动态大小的结构体 - 艰难地学习 C Ex17

    我在学习 C The Hard Way 中的练习时遇到问题 该练习提供了一个简单的数据库程序 该程序具有固定的大小和行数 下面您可以看到构成数据库的结构 define MAX DATA 512 define MAX ROWS 100 str
  • 使用 capybara-webkit 单击 Google 地图中的叠加标记

    有没有办法用 capybara webkit 点击 Google 地图叠加层 水豚使用 Selenium 怎么样 我想在选择标记后测试信息窗口的内容 我也想测试一下有没有n页面上的标记 要测试页面上是否有 n 个标记 expect find
  • 有没有办法在将 Angular 4 服务的数据注入到组件之前解析该数据?

    我是 Angular 2 4 的新手 所以请原谅我的无知 我有一个服务想要注入到各个组件中 但是该服务使用需要首先从服务器检索的元数据 我想知道是否有一种方法可以确保在将服务注入到组件之前解析服务的数据 我读了一些关于路线守卫的内容 这听起
  • 更改 Visual Studio 解决方案中所有项目的目标框架

    我需要更改所有项目的目标框架 我有数百个项目的许多解决方案 这里有什么新的东西还是我必须改变每个项目 刚刚发布目标框架迁移器 http visualstudiogallery msdn microsoft com 47bded90 80d8
  • 如何从C中获取Linux中当前文件(pwd)的路径?

    我想知道是否可以以某种方式运行system pwd 在当前 DIR 上 例如 我们有这样的文件夹结构 example gt test gt gt file gt test2 gt gt file3 gt gt file4 与opendir
  • CNTK C# 逻辑回归 w 和 b 变量值

    我知道 C 的 CNTK 有点新 但我希望有人可以帮助我 我在 python 中遵循这个逻辑回归示例 https github com Microsoft CNTK blob master Tutorials CNTK 101 Lo gis
  • restartBrowserBetweenTests 与 onPrepare() 之间的交互

    我希望我的每个测试都在干净的浏览器 Firefox 上运行 所以我使用restartBrowserBetweenTests true选项 因为我使用非 Angular 演示应用程序 onPrepare 我使用的功能browser waitF
  • 在 jQuery 中检查 DIV 的输入项值不为空

    我在 DIV 中堆叠了一些输入文本字段 下拉菜单 无线电组 现在 我如何检查此 DIV 内的所有文本字段 单选组和下拉列表是否具有某些值 我创建了一个简单的模型JSFiddle http jsfiddle net tq3jL2d6 1 jQ
  • 没有这样的过滤器:'drawtext'

    我的主要目标是收集用户输入并将其转换为黑色背景的视频 然后输入文本将从左向右移动 同时视频在背景中播放音频 目前我被建议使用 drawtext 但我还没有发现它有效 我的命令 ffmpeg i test mp4 vf drawtext fo
  • 即使应用程序关闭(不在后台运行)/屏幕锁定,GPS 位置跟踪

    我想跟踪与 Strava 非常相似的用户位置 即使在关闭后也是如此 我尝试了 AlarmManager 但它并没有每隔一分钟就给我执行一次 如果设备进入睡眠模式 仅使用 BiGGZ 解释的服务将不起作用 虽然该服务不会被终止 但您的应用程序
  • 使用 ShapeDrawable 获取 textView 背景颜色

    我有一个文本视图 其背景在 xml 文件中定义
  • java web应用程序布局,请解释一些设计原则/模式

    我正在研究这个使用 hibernate jsp 和 spring 框架的 java web 应用程序 据我所知 文件布局是这样的 classes com example project1 项目内部1 dao entity Dao java
  • 如何检查图形是否打开以及如何关闭它?

    我的 m 文件根据参数打开图形 有时是一位数 有时是2位数 如果用户调用该函数 就会出现数字 如果他使用其他参数再次调用该函数 我将在新绘图之前使用 clf 清除数字 如果第二个调用设置为仅绘制一个图形 则第二个图形 由前一个调用打开 将保
  • 使用字符串更改数据框列的类别

    我有一个数据框 其中所有列都有character类 但许多列应该是数字或整数类 我还有一个字符向量 其中包含每列所需的类 例如 classes lt c integer integer numeric character logical n
  • Laravel 5.1 @can,如何使用 OR 子句

    我没有找到如何在 can视图中使用子句 OR AND 来检查多种能力 I tried can permission1 permission2 can permission1 or permission2 can permission1 pe
  • Android - 如何将自定义CSS注入webview中的外部网页

    我想将自定义 CSS 应用到 WebView 中的外部网页中 如下所示 webView loadUrl webView loadUrl http www stackoverflow com 您可以使用以下方式注入自定义 JSjavascri
  • 为什么将变量列为依赖项可以“解决”过时的闭包问题?

    我试图了解我所看到的有关的一般建议React 和陈旧的闭包 https dmitripavlutin com react hooks stale closures 具体来说 据我了解 术语 过时的闭包 用于描述组件和useEffect函数是
  • 如何找到两个字符串中最大的子串?

    如何找到两个字符串中最大的公共子串 可能使用一个后缀树 http en wikipedia org wiki Suffix tree 为两个字符串创建树 然后使用这些结构来查找公共路径
  • 使用 C++ 解析非常大的 CSV 文件

    我的目标是在 OSX 环境中的 QT 项目中使用 C 解析大型 csv 文件 当我说 csv 时 我指的是 tsv 和其他变体 1GB 5GB 这似乎是一个简单的任务 但当文件大小变大时 事情就会变得复杂 我不想编写自己的解析器 因为有许多
  • C# MySqlConnection 不会关闭

    我有一个应用程序触发 mysql 命令 查询 显示数据库 查询正常工作并返回 但我无法关闭连接 我使用的用户同时允许 24 个连接 因此问题在我的程序中进一步出现 但将允许的连接减少到 2 个表明我什至无法关闭第一个查询 它不在循环中 代码