我們有一個基於dot net 2.0的C#產品,它使用Mysql作爲數據存儲。當我們在XP/Win 7機器上安裝mysql連接器6.3.6時,我們能夠從C#代碼連接到數據庫,沒有任何問題。但是,當mysql連接器實際上未安裝在機器上時,我們在連接到mysql數據庫時遇到了問題,但它只與可執行文件存在於同一目錄中。我們不希望在我們希望產品運行的每臺機器上安裝連接器。我們希望直接使用connectory dll,因爲我們在代碼中使用任何第三方dll(例如記錄器)。如何通過C#使用mysql連接器連接到mysql而不實際安裝連接器
即使我們將mysql.data.dll複製到安裝exe的相同目錄中,它也會生成但不連接到數據庫。
給出的錯誤是
無法找到所需的.NET Framework數據提供。它可能沒有安裝 大段引用
技術信息:
- 用的Mysql 6.0版本發生5.0
- C#
- 點NET框架2.0
- MySQL連接6.3.6(同樣的問題.3的SQL連接器)
- Win XP/Win 7
當我們使用ASP.Net,我們可以指定下面給出到web.config中的標籤,我們可以直接通過將DLL到bin目錄
<system.data>
<DbProviderFactories>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=5.0.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
連接到MySQL數據庫
爲什麼我們不能在C#中爲桌面環境中的客戶端服務器應用程序做同樣的事情。
任何幫助真的很感激。
黑氈帽
是否將相同的配置放入桌面應用程序的'app.config'中? – Jon
我們沒有把相同的配置放在app.config中。標籤DBProviderFactories在app.config中似乎無效 – Kalpak
這個問題在一個月前爲我節省了幾個小時的麻煩。所有的.Net連接器安裝(根據我的理解)都是將「MySQL Data Provider」條目添加到machine.config中。我沒有使用安裝程序,只是將條目添加到我的配置中。我使用.Net ProviderFactories關閉並運行。 – IAbstract