錯誤 175:找不到指定的數據儲存提供程序
我將 VS2010 與MySQL .NET Connector一起使用。我曾經工作的項目開始報告:
錯誤 175:找不到指定的數據儲存提供程序或無效。
我不知道為什麼,儘管在 MS 向 VS 推薦了修補程序之後事情變得很奇怪。
果然,如果我在項目中添加一個測試 ADO.NET 實體數據模型,當我選擇“從數據庫生成”時,生成 .edmx 文件的實體數據模型嚮導不會顯示數據提供者。更糟糕的是,右鍵點擊並嘗試在現有 .edmx 文件上執行“從數據庫更新模型…”會使 VS2010 陷入只能通過任務管理器終止的對話框的死亡螺旋。
這是我修復它的方法:關閉 VS2010。完全解除安裝 MySQL 連接器。重啟。完全安裝 MySQL 連接器。重啟。重啟VS2010。
突然間,我的數據提供者存在了。我可以編譯我的程式碼。以及添加測試 .edmx 文件。嚮導會看到我的 MySQL 數據庫,通過測試連接,並使用我的關係表建構對像模型。我可以隨心所欲地清理/重建。
在我執行應用程序之前一切都很好。我的“修復”沒有堅持。
此時會拋出一個異常,指出連接對象返回 null,如果我在沒有更改程式碼的情況下重新編譯,我會再次收到 Error 175 錯誤。起泡,沖洗,重複。
基於這個 StackOverflow 答案的一些實驗表明,連接字元串是有效的,並且使用 MySqlConnection 對象,我可以訪問數據庫並在這種狀態下滾動我自己的工作查詢。
問題似乎是數據儲存提供者不知何故迷路或踩到了,這影響了通過 EntityFrameworks 做事的能力。
我正在尋找一些關於在哪裡尋找這些儲存的建議,如果有人遇到過類似的事情,如果有任何有用的建議或想法你認為我可以嘗試。
更新——雖然這個花絮並沒有解決我的問題,但它確實使 VS2010 更加穩定:解除安裝 .NET 連接器後,我立即檢查了控制面板的已安裝程序,發現還安裝了一個較舊的 .NET 連接器。我從控制面板解除安裝了那個,重新啟動,然後安裝了新的。VS2010 現在記住了使用 EntityFrameworks 的數據庫提供程序。顯然,我安裝了一個更新的 MySQL 連接器,認為它會解除安裝舊的連接器,而是它們相互交叉。
現在我得到一個
System.ArgumentException內部System.Data.Entity.dll說明略有不同的資訊:在配置中找不到指定的商店提供程序,或無效。System.ArgumentException:找不到請求的 .Net Framework 數據提供程序。它可能沒有安裝。
這發生在
System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)方法上。修訂說明– 上述刪除的原因是 VS2010 最終確實再次失去了設置。但我能夠從控制面板解除安裝 .Net 連接器並再次重新安裝連接器,而無需重新啟動,並讓我的數據提供程序再次回到環境中。這部分問題感覺更像是 VS2010 錯誤,而不是 .NET 連接器問題。
重大更新後問題消失了——畢竟它似乎是一個環境/驅動程序錯誤。
重新安裝 Windows 後我遇到了同樣的錯誤,忘記添加 SQlite 的提供程序。
它就在這裡,儘管它沒有提到它,但它完全支持 VS 2010。