關於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把它當成正常的配置文件讀取,這個文件內容當然是無法讀取了!
  
  於是出現了上面的錯誤,屢試不爽!

  這個問題可能很少會遇到,但一旦遇到,確實很難想到會是這種原因!
  寫個帖子,給可能會遇到這種情況的朋友提個醒。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章