• 关于MySqlConnection的一个特殊异常


      最近给一个客户做一个项目,其中要与另外一个系统进行数据交换,而那个系统使用的是MySql,因此,从网上下载了一个MySql Connector,由于以前没有用过MySql,而且这个MySql服务器位于互联网上,因此,尽管只是简单的SELECT、INSERT、UPDATE语句,自己也测的比较仔细,最后,非常自信的把软件拿过去执行。
      当然,结果是出现了意料之外异常:"System.Transactions.Diagnostics.DiagnosticTrace"类型初始值设定项引发异常,而且是在最基本的连接测试的时候出现的,即MySqlConnection.Open()的时候就立即出现该异常。
      郁闷自是不用提了,好在背着笔记本,带着源代码,于是就在笔记本上进行调试,但是一切正常,于是怀疑客户的机器环境问题(我是Vista,客户运行该程序是在Win2003服务器上)。但最终还是否定了——新的IBM服务器,Win2003企业版+各种补丁的机器实在没有理由怀疑

      然后又怀疑是兼容性的问题(程序使用了.NET 3.5,并使用WPF做界面),于是去找了若干个版本的Connector,但是依然如故!于是只好把自己的笔记本放在哪里,先把今天的活儿干了。
      晚上回来,被这事闹得睡不着了,于是又去找了Connector的源代码,又认真地跟踪了一下出错信息,发现了秘密:
      原来,MySqlConnection要读取应用程序的配置文件!
      而恰巧,我也使用了与主程序同名的.config自定义配置文件,但由于里面保存了很多连接信息,出于安全的原因,整个文件的内容是被我加了密的,但MySqlConnection把它当成正常的配置文件读取,这个文件内容当然是无法读取了!
      
      于是出现了上面的错误,屡试不爽!

      这个问题可能很少会遇到,但一旦遇到,确实很难想到会是这种原因!
      写个帖子,给可能会遇到这种情况的朋友提个醒。
  • 相关阅读:
    模板方法模式
    策略模式
    代理模式
    单例模式
    工厂模式
    服务器负载过高问题分析
    支付宝APP支付开发- IOException : DerInputStream.getLength(): lengthTag=89, too big
    阿里云linux服务器挂载数据盘
    3.3.4.2选择特定行
    3.3.4.1选择所有数据
  • 原文地址:https://www.cnblogs.com/yuxs/p/1208058.html
Copyright © 2020-2023  润新知