Unable to find the requested .Net Framework Data Provider. It may not be installed.
We initially installed our Umbraco on a staging server locally in our office, running Windows Server 2008. We now want to move it to Amazon AWS. I set-up IIS, took a copy of the MySQL database for Umbraco, and imported it on our live server.
I have published our project successfully, however when I try to sign into the Umbraco back office www.mydomain.com/umbraco I can't login.
I've checked the response header for the Login request and see this error;
)]}',
{"Message":"An error has occurred.","ExceptionMessage":"Unable to find the requested .Net Framework Data Provider. It may not be installed.","ExceptionType":"System.ArgumentException","StackTrace":" at Umbraco.Core.Persistence.Database.CommonConstruct()\r\n at Umbraco.Core.Persistence.UmbracoDatabase..ctor(String connectionStringName)\r\n at Umbraco.Core.Persistence.DefaultDatabaseFactory.CreateDatabase()\r\n at Umbraco.Core.Persistence.UnitOfWork.PetaPocoUnitOfWorkProvider.GetUnitOfWork()\r\n at Umbraco.Core.Services.UserService.GetByUsername(String username)\r\n at Umbraco.Web.Security.Providers.UmbracoMembershipProvider`2.ValidateUser(String username, String password)\r\n at Umbraco.Web.Editors.AuthenticationController.PostLogin(LoginModel loginModel)\r\n at lambda_method(Closure , Object , Object[] )\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass13.b__c(Object instance, Object[] methodParameters)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)\r\n at System.Threading.Tasks.TaskHelpers.RunSynchronously[TResult](Func`1 func, CancellationToken cancellationToken)"}
Sounds like your staging server had the .Net Framework Data Provider in the GAC, and your AWS server does not. You need to have the MySQL Provider installed on the target machine, it's called something like "MySQL Connector Net x.x.x" Which you can get from this website.
However since you are going to a cloud server, you may not have the ability to install anything. If that is the case, you'll need to open the project in Visual Studio and add the references there. Adding a reference to MySql.Data.dll, the MySql.Data.Entity.dll and MySql.Web.dll files and then a recompile & redeploy should hopefully get you fixed up.
Thanks for your quick response. I did install the MySQL Connector .NET 6.6.7, but still had the problem. By the way I have full access to the AWS server, via remote desktop.
I just checked my Umbraco project, and only have MySql.Data.dll under references. Do I need to add MySql.Data.Entity.dll and MySql.Web.dll for it to work then aswell ?
Am I able to use the latest MySQL .NET version, or should I be using the same one as already in the project for the file MySql.Data.dll which is version 6.6.5
I downloaded and installed MySQL .NET Connector 6.6.5 on our webserver (MS Windows 2012 R2) that is having the problem, and added the DLL files both version 6.6.5 (mysql.data.entity.dll and mysql.web.dll) as references to my Umbraco project.
I noticed in my project that the packages file only contains
Do I need to provide any more information to help resolve this issue ? Also, if it normal that I install and set-up umbraco localling on my staging server, and then publish to my live web server ? Am I missing something on the live server that might be causing this issue
I managed to get it working and found that the problem was in my Web.Config transformation I had the following
<connectionStrings>
<add name="umbracoDbDSN"
connectionString="Server=cms.*******.eu-west-1.rds.amazonaws.com;Port=3306;Database=umbracocms;Uid=cms;Pwd=******;Allow User Variables=true;" providerName="MySql.Data"
Unable to find the requested .Net Framework Data Provider. It may not be installed.
We initially installed our Umbraco on a staging server locally in our office, running Windows Server 2008. We now want to move it to Amazon AWS. I set-up IIS, took a copy of the MySQL database for Umbraco, and imported it on our live server.
I have published our project successfully, however when I try to sign into the Umbraco back office www.mydomain.com/umbraco I can't login.
I've checked the response header for the Login request and see this error;
)]}',
{"Message":"An error has occurred.","ExceptionMessage":"Unable to find the requested .Net Framework Data Provider. It may not be installed.","ExceptionType":"System.ArgumentException","StackTrace":" at Umbraco.Core.Persistence.Database.CommonConstruct()\r\n at Umbraco.Core.Persistence.UmbracoDatabase..ctor(String connectionStringName)\r\n at Umbraco.Core.Persistence.DefaultDatabaseFactory.CreateDatabase()\r\n at Umbraco.Core.Persistence.UnitOfWork.PetaPocoUnitOfWorkProvider.GetUnitOfWork()\r\n at Umbraco.Core.Services.UserService.GetByUsername(String username)\r\n at Umbraco.Web.Security.Providers.UmbracoMembershipProvider`2.ValidateUser(String username, String password)\r\n at Umbraco.Web.Editors.AuthenticationController.PostLogin(LoginModel loginModel)\r\n at lambda_method(Closure , Object , Object[] )\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass13.b__c(Object instance, Object[] methodParameters)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)\r\n at System.Threading.Tasks.TaskHelpers.RunSynchronously[TResult](Func`1 func, CancellationToken cancellationToken)"}
Hi Tommo,
Sounds like your staging server had the .Net Framework Data Provider in the GAC, and your AWS server does not. You need to have the MySQL Provider installed on the target machine, it's called something like "MySQL Connector Net x.x.x" Which you can get from this website.
However since you are going to a cloud server, you may not have the ability to install anything. If that is the case, you'll need to open the project in Visual Studio and add the references there. Adding a reference to MySql.Data.dll, the MySql.Data.Entity.dll and MySql.Web.dll files and then a recompile & redeploy should hopefully get you fixed up.
-Roger
Hi Roger,
Thanks for your quick response. I did install the MySQL Connector .NET 6.6.7, but still had the problem. By the way I have full access to the AWS server, via remote desktop.
I just checked my Umbraco project, and only have MySql.Data.dll under references. Do I need to add MySql.Data.Entity.dll and MySql.Web.dll for it to work then aswell ?
Thanks,
Tommo1977
Yes that it my understanding that all 3 files should be referenced.
Be sure to let us know if that does it.
-Roger
Hi Roger,
Am I able to use the latest MySQL .NET version, or should I be using the same one as already in the project for the file MySql.Data.dll which is version 6.6.5
Thanks
-Tommo
Roger,
I still have the same problem.
I downloaded and installed MySQL .NET Connector 6.6.5 on our webserver (MS Windows 2012 R2) that is having the problem, and added the DLL files both version 6.6.5 (mysql.data.entity.dll and mysql.web.dll) as references to my Umbraco project.
I noticed in my project that the packages file only contains
<package id="MySql.Data" version="6.6.5" targetFramework="net451" />
Also, in my webconfig I have the follwing
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.6.5.0" newVersion="6.6.5.0" />
</dependentAssembly>
Does anything need to be added for the other two DLLs ? If not, what else can I try ?
Thanks
-Tommo1977
Do I need to provide any more information to help resolve this issue ? Also, if it normal that I install and set-up umbraco localling on my staging server, and then publish to my live web server ? Am I missing something on the live server that might be causing this issue
-Tommo1977
I managed to get it working and found that the problem was in my Web.Config transformation I had the following
<connectionStrings>
<add name="umbracoDbDSN"
connectionString="Server=cms.*******.eu-west-1.rds.amazonaws.com;Port=3306;Database=umbracocms;Uid=cms;Pwd=******;Allow User Variables=true;" providerName="MySql.Data"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
The provide name should of been
providerName="MySql.Data.MySqlClient"
This was the problem. I still don't understand why I had to have providerName="MySql.Data.MySqlClient" and providerName="MySql.Data" didn't work.
Hey Tommo,
Sorry I missed your replies as I was out for the weekend - glad you got it sorted.
Your answer will no doubt help others. Nice troubleshooting!
Thanks -Roger
is working on a reply...