Installing Umbraco 7.1 with a MySQL/Linux backend db
Hi all,
Is it just me or does Umbraco have some compatibility problems when installing a new site on a Windows platform but with a Linux MySQL database backend?
It installs fine, but when acessing things like users in the admin ui it throws an exception because it cannot find the database table CMSPROPERTYTYPE. Only this table do exist it's just named cmsPropertyType and since Linux and MySQL is case sensitive and Umbraco insist on trying to access all tables with full caps - rather illogical when the db itself is named with mixed caps - it's only natural that it will encounter this error.
This does not seem to be a new error but seems to exist in Umbraco 6 also. Can anyone confirm this?
I'll be happy to revise the Umbraco code base from GitHub to implement catering for MySql compatibility and make a pull request, but does anyone have any thoughts about this (possible problems with other areas of the code base, etc.)?
I'm new to Umbraco and had what I believe is a similar issue while setting it up. The webpage will be hosted on a UnoEuro MySQL database. UnoEuro has lower_case_table_names=0 and I can't change this.
Any other ideas?
The log says:
2014-11-03 18:26:30,923 [19] INFO Umbraco.Core.ApplicationContext - [Thread 20] CurrentVersion different from configStatus: '7.1.8',''
2014-11-03 18:26:30,978 [19] INFO Umbraco.Core.ApplicationContext - [Thread 20] CurrentVersion different from configStatus: '7.1.8',''
2014-11-03 18:26:32,612 [19] INFO Umbraco.Core.ApplicationContext - [Thread 21] CurrentVersion different from configStatus: '7.1.8',''
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(MySqlConnection connection, String commandText, MySqlParameter[] commandParameters)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(String connectionString, String commandText, MySqlParameter[] commandParameters)
ved umbraco.DataLayer.SqlHelpers.MySql.MySqlHelper.ExecuteScalar(String commandText, MySqlParameter[] parameters)
ved umbraco.DataLayer.SqlHelper`1.ExecuteScalar[T](String commandText, IParameter[] parameters)
2014-11-03 18:26:38,188 [19] WARN Umbraco.Core.Services.PackagingService - [Thread 21] Packager: Error handling DocumentType structure. DocumentType with alias 'umbPortfolio' could not be found and was not added to the structure for 'umbHomePage'.
2014-11-03 18:26:38,713 [19] ERROR umbraco.DataLayer.SqlHelper`1[[MySql.Data.MySqlClient.MySqlParameter, MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d]] - [Thread 21] Error executing query SELECT id FROM umbracoNode WHERE text = @text AND nodeObjectType = @objType
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> umbraco.DataLayer.SqlHelperException: Umbraco Exception (DataLayer): SQL helper exception in ExecuteReader ---> MySql.Data.MySqlClient.MySqlException: Table 'hunde_coaching_dk_db.UMBRACONODE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
2014-11-03 18:26:38,937 [19] ERROR Umbraco.Web.Install.Controllers.InstallApiController - [Thread 21] An error occurred during installation step StarterKitInstall
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> umbraco.DataLayer.SqlHelperException: Umbraco Exception (DataLayer): SQL helper exception in ExecuteReader ---> MySql.Data.MySqlClient.MySqlException: Table 'hunde_coaching_dk_db.UMBRACONODE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
A little too much log info there for my taste at least :) Especially when it's done in normal font and with doble line spacing. Gets very confusing.
Anyways, regarding UnoEuro web hosting and Umbraco then there is a discussion between Niels Hartvig and UnoEuro in a UnoEuro blog discussing this problem (you can google it).
Seems that UnoEuro doesn't allow users to change the lower_case_table_names settings. The only way around it is to pay UnoEuro for a MSSQL upgrade instead of MySQL.. Or to fix the issue - which seems to be somewhat old - directly in the Umbraco code on github.
Sorry about the format. I didn't know it would look like that when posting :(
I can see that no fix is going to be made any time soon. Since I don't have much experience with .Net and even less time I will go for MS SQL CE if that is possible on UnoEuro :)
Hello guys. I would like to share how I solved this. The problem is using a MySQL installed on linux. The lowercasetable_names setting is case-insensitive and windows is not. An alternative is to configure your MySQL. However it is not possible to do this in the hosting, generating these errors.
I discovered in the source code of umbraco that what makes the query Uppercase is this method in SqlParser.cs
This solution involves you downloading the source code corresponding to your version, changing and recompiling and updating the dlls in your installation
Installing Umbraco 7.1 with a MySQL/Linux backend db
Hi all,
Is it just me or does Umbraco have some compatibility problems when installing a new site on a Windows platform but with a Linux MySQL database backend?
It installs fine, but when acessing things like users in the admin ui it throws an exception because it cannot find the database table CMSPROPERTYTYPE. Only this table do exist it's just named cmsPropertyType and since Linux and MySQL is case sensitive and Umbraco insist on trying to access all tables with full caps - rather illogical when the db itself is named with mixed caps - it's only natural that it will encounter this error.
This does not seem to be a new error but seems to exist in Umbraco 6 also. Can anyone confirm this?
I'll be happy to revise the Umbraco code base from GitHub to implement catering for MySql compatibility and make a pull request, but does anyone have any thoughts about this (possible problems with other areas of the code base, etc.)?
Thanks in advance.
/Anders
Hi Anders,
Need to configure your installation of mys. Update file /etc/mysql/my.cnf
lower_case_table_names=1
*Few hosts do not allow this type of configuration to be global.
Hi Marcio,
Thanks, that did the trick :)
I can add that the 'lower_case_table_names=1' needs to be in the [mysqld] part of the my.cnf config file.
So my local Windows desktop/laptop Umbraco dev sites are now all communicating nicely with the common MySql/MariaDb database placed on my NAS server.
Hi
I'm new to Umbraco and had what I believe is a similar issue while setting it up. The webpage will be hosted on a UnoEuro MySQL database. UnoEuro has lower_case_table_names=0 and I can't change this.
Any other ideas?
The log says:
2014-11-03 18:26:30,923 [19] INFO Umbraco.Core.ApplicationContext - [Thread 20] CurrentVersion different from configStatus: '7.1.8',''
2014-11-03 18:26:30,978 [19] INFO Umbraco.Core.ApplicationContext - [Thread 20] CurrentVersion different from configStatus: '7.1.8',''
2014-11-03 18:26:32,612 [19] INFO Umbraco.Core.ApplicationContext - [Thread 21] CurrentVersion different from configStatus: '7.1.8',''
2014-11-03 18:26:32,613 [19] INFO Umbraco.Web.Install.Controllers.InstallApiController - [Thread 21] Executing installation step: StarterKitInstall
2014-11-03 18:26:32,903 [19] ERROR umbraco.DataLayer.SqlHelper`1[[MySql.Data.MySqlClient.MySqlParameter, MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d]] - [Thread 21] Error executing query select nodeId from cmsTemplate where alias = @alias
MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'hunde_coaching_dk_db.CMSTEMPLATE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(MySqlConnection connection, String commandText, MySqlParameter[] commandParameters)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(String connectionString, String commandText, MySqlParameter[] commandParameters)
ved umbraco.DataLayer.SqlHelpers.MySql.MySqlHelper.ExecuteScalar(String commandText, MySqlParameter[] parameters)
ved umbraco.DataLayer.SqlHelper`1.ExecuteScalar[T](String commandText, IParameter[] parameters)
2014-11-03 18:26:33,055 [19] ERROR umbraco.DataLayer.SqlHelper`1[[MySql.Data.MySqlClient.MySqlParameter, MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d]] - [Thread 21] Error executing query SELECT id FROM umbracoNode WHERE text = @text AND nodeObjectType = @objType
MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'hunde_coaching_dk_db.UMBRACONODE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(MySqlConnection connection, String commandText, MySqlParameter[] commandParameters)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(String connectionString, String commandText, MySqlParameter[] commandParameters)
ved umbraco.DataLayer.SqlHelpers.MySql.MySqlHelper.ExecuteScalar(String commandText, MySqlParameter[] parameters)
ved umbraco.DataLayer.SqlHelper`1.ExecuteScalar[T](String commandText, IParameter[] parameters)
2014-11-03 18:26:33,228 [19] ERROR umbraco.DataLayer.SqlHelper`1[[MySql.Data.MySqlClient.MySqlParameter, MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d]] - [Thread 21] Error executing query SELECT id FROM umbracoNode WHERE text = @text AND nodeObjectType = @objType
MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'hunde_coaching_dk_db.UMBRACONODE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(MySqlConnection connection, String commandText, MySqlParameter[] commandParameters)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(String connectionString, String commandText, MySqlParameter[] commandParameters)
ved umbraco.DataLayer.SqlHelpers.MySql.MySqlHelper.ExecuteScalar(String commandText, MySqlParameter[] parameters)
ved umbraco.DataLayer.SqlHelper`1.ExecuteScalar[T](String commandText, IParameter[] parameters)
2014-11-03 18:26:33,426 [19] ERROR umbraco.DataLayer.SqlHelper`1[[MySql.Data.MySqlClient.MySqlParameter, MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d]] - [Thread 21] Error executing query SELECT id FROM umbracoNode WHERE text = @text AND nodeObjectType = @objType
MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'hunde_coaching_dk_db.UMBRACONODE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(MySqlConnection connection, String commandText, MySqlParameter[] commandParameters)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(String connectionString, String commandText, MySqlParameter[] commandParameters)
ved umbraco.DataLayer.SqlHelpers.MySql.MySqlHelper.ExecuteScalar(String commandText, MySqlParameter[] parameters)
ved umbraco.DataLayer.SqlHelper`1.ExecuteScalar[T](String commandText, IParameter[] parameters)
2014-11-03 18:26:33,665 [19] ERROR umbraco.DataLayer.SqlHelper`1[[MySql.Data.MySqlClient.MySqlParameter, MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d]] - [Thread 21] Error executing query SELECT id FROM umbracoNode WHERE text = @text AND nodeObjectType = @objType
MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'hunde_coaching_dk_db.UMBRACONODE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(MySqlConnection connection, String commandText, MySqlParameter[] commandParameters)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(String connectionString, String commandText, MySqlParameter[] commandParameters)
ved umbraco.DataLayer.SqlHelpers.MySql.MySqlHelper.ExecuteScalar(String commandText, MySqlParameter[] parameters)
ved umbraco.DataLayer.SqlHelper`1.ExecuteScalar[T](String commandText, IParameter[] parameters)
2014-11-03 18:26:33,907 [19] ERROR umbraco.DataLayer.SqlHelper`1[[MySql.Data.MySqlClient.MySqlParameter, MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d]] - [Thread 21] Error executing query SELECT id FROM umbracoNode WHERE text = @text AND nodeObjectType = @objType
MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'hunde_coaching_dk_db.UMBRACONODE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(MySqlConnection connection, String commandText, MySqlParameter[] commandParameters)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(String connectionString, String commandText, MySqlParameter[] commandParameters)
ved umbraco.DataLayer.SqlHelpers.MySql.MySqlHelper.ExecuteScalar(String commandText, MySqlParameter[] parameters)
ved umbraco.DataLayer.SqlHelper`1.ExecuteScalar[T](String commandText, IParameter[] parameters)
2014-11-03 18:26:34,112 [19] ERROR umbraco.DataLayer.SqlHelper`1[[MySql.Data.MySqlClient.MySqlParameter, MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d]] - [Thread 21] Error executing query SELECT id FROM umbracoNode WHERE text = @text AND nodeObjectType = @objType
MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'hunde_coaching_dk_db.UMBRACONODE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(MySqlConnection connection, String commandText, MySqlParameter[] commandParameters)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(String connectionString, String commandText, MySqlParameter[] commandParameters)
ved umbraco.DataLayer.SqlHelpers.MySql.MySqlHelper.ExecuteScalar(String commandText, MySqlParameter[] parameters)
ved umbraco.DataLayer.SqlHelper`1.ExecuteScalar[T](String commandText, IParameter[] parameters)
2014-11-03 18:26:38,188 [19] WARN Umbraco.Core.Services.PackagingService - [Thread 21] Packager: Error handling DocumentType structure. DocumentType with alias 'umbPortfolio' could not be found and was not added to the structure for 'umbHomePage'.
2014-11-03 18:26:38,713 [19] ERROR umbraco.DataLayer.SqlHelper`1[[MySql.Data.MySqlClient.MySqlParameter, MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d]] - [Thread 21] Error executing query SELECT id FROM umbracoNode WHERE text = @text AND nodeObjectType = @objType
MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'hunde_coaching_dk_db.UMBRACONODE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteScalar()
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(MySqlConnection connection, String commandText, MySqlParameter[] commandParameters)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteScalar(String connectionString, String commandText, MySqlParameter[] commandParameters)
ved umbraco.DataLayer.SqlHelpers.MySql.MySqlHelper.ExecuteScalar(String commandText, MySqlParameter[] parameters)
ved umbraco.DataLayer.SqlHelper`1.ExecuteScalar[T](String commandText, IParameter[] parameters)
2014-11-03 18:26:38,867 [19] ERROR umbraco.DataLayer.SqlHelper`1[[MySql.Data.MySqlClient.MySqlParameter, MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d]] - [Thread 21] Error executing query SELECT id, createDate, trashed, parentId, nodeObjectType, nodeUser, level, path, sortOrder, uniqueID, text FROM umbracoNode WHERE id = @id
MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'hunde_coaching_dk_db.UMBRACONODE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteReader(MySqlConnection connection, MySqlTransaction transaction, String commandText, MySqlParameter[] commandParameters, Boolean ExternalConn)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteReader(String connectionString, String commandText, MySqlParameter[] commandParameters)
ved umbraco.DataLayer.SqlHelpers.MySql.MySqlHelper.ExecuteReader(String commandText, MySqlParameter[] parameters)
ved umbraco.DataLayer.SqlHelper`1.ExecuteReader(String commandText, IParameter[] parameters)
2014-11-03 18:26:38,918 [19] ERROR Umbraco.Web.Install.Controllers.InstallApiController - [Thread 21] Installation step StarterKitInstall failed.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> umbraco.DataLayer.SqlHelperException: Umbraco Exception (DataLayer): SQL helper exception in ExecuteReader ---> MySql.Data.MySqlClient.MySqlException: Table 'hunde_coaching_dk_db.UMBRACONODE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteReader(MySqlConnection connection, MySqlTransaction transaction, String commandText, MySqlParameter[] commandParameters, Boolean ExternalConn)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteReader(String connectionString, String commandText, MySqlParameter[] commandParameters)
ved umbraco.DataLayer.SqlHelpers.MySql.MySqlHelper.ExecuteReader(String commandText, MySqlParameter[] parameters)
ved umbraco.DataLayer.SqlHelper`1.ExecuteReader(String commandText, IParameter[] parameters)
--- Slut på staksporing af indre undtagelser ---
ved umbraco.DataLayer.SqlHelper`1.ExecuteReader(String commandText, IParameter[] parameters)
ved umbraco.cms.businesslogic.CMSNode.setupNode()
ved umbraco.cms.businesslogic.CMSNode..ctor(Int32 Id)
ved umbraco.cms.businesslogic.CMSNode.MakeNew(Int32 parentId, Guid objectType, Int32 userId, Int32 level, String text, Guid uniqueID)
ved umbraco.cms.businesslogic.web.StyleSheet.MakeNew(User user, String Text, String FileName, String Content)
ved umbraco.cms.businesslogic.web.StyleSheet.Import(XmlNode n, User u)
ved umbraco.cms.businesslogic.packager.Installer.InstallBusinessLogic(Int32 packageId, String tempDir)
ved Umbraco.Web.Install.InstallSteps.StarterKitInstallStep.InstallBusinessLogic(Int32 manifestId, String packageFile)
ved Umbraco.Web.Install.InstallSteps.StarterKitInstallStep.Execute(Object model)
--- Slut på staksporing af indre undtagelser ---
ved System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
ved System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
ved System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
ved System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
ved Umbraco.Web.Install.Controllers.InstallApiController.ExecuteStep(InstallSetupStep step, JToken instruction)
ved Umbraco.Web.Install.Controllers.InstallApiController.PostPerformInstall(InstallInstructions installModel)
2014-11-03 18:26:38,937 [19] INFO Umbraco.Web.Install.Controllers.InstallApiController - [Thread 21] Step completed (took 6324ms)
2014-11-03 18:26:38,937 [19] ERROR Umbraco.Web.Install.Controllers.InstallApiController - [Thread 21] An error occurred during installation step StarterKitInstall
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> umbraco.DataLayer.SqlHelperException: Umbraco Exception (DataLayer): SQL helper exception in ExecuteReader ---> MySql.Data.MySqlClient.MySqlException: Table 'hunde_coaching_dk_db.UMBRACONODE' doesn't exist
ved MySql.Data.MySqlClient.MySqlStream.ReadPacket()
ved MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
ved MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
ved MySql.Data.MySqlClient.MySqlDataReader.NextResult()
ved MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteReader(MySqlConnection connection, MySqlTransaction transaction, String commandText, MySqlParameter[] commandParameters, Boolean ExternalConn)
ved MySql.Data.MySqlClient.MySqlHelper.ExecuteReader(String connectionString, String commandText, MySqlParameter[] commandParameters)
ved umbraco.DataLayer.SqlHelpers.MySql.MySqlHelper.ExecuteReader(String commandText, MySqlParameter[] parameters)
ved umbraco.DataLayer.SqlHelper`1.ExecuteReader(String commandText, IParameter[] parameters)
--- Slut på staksporing af indre undtagelser ---
ved umbraco.DataLayer.SqlHelper`1.ExecuteReader(String commandText, IParameter[] parameters)
ved umbraco.cms.businesslogic.CMSNode.setupNode()
ved umbraco.cms.businesslogic.CMSNode..ctor(Int32 Id)
ved umbraco.cms.businesslogic.CMSNode.MakeNew(Int32 parentId, Guid objectType, Int32 userId, Int32 level, String text, Guid uniqueID)
ved umbraco.cms.businesslogic.web.StyleSheet.MakeNew(User user, String Text, String FileName, String Content)
ved umbraco.cms.businesslogic.web.StyleSheet.Import(XmlNode n, User u)
ved umbraco.cms.businesslogic.packager.Installer.InstallBusinessLogic(Int32 packageId, String tempDir)
ved Umbraco.Web.Install.InstallSteps.StarterKitInstallStep.InstallBusinessLogic(Int32 manifestId, String packageFile)
ved Umbraco.Web.Install.InstallSteps.StarterKitInstallStep.Execute(Object model)
--- Slut på staksporing af indre undtagelser ---
ved System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
ved System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
ved System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
ved System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
ved Umbraco.Web.Install.Controllers.InstallApiController.ExecuteStep(InstallSetupStep step, JToken instruction)
ved Umbraco.Web.Install.Controllers.InstallApiController.PostPerformInstall(InstallInstructions installModel)
A little more info. The above happens if I try to install a starter kit. If I skip that step I get the following error (on screen):
Hi Casper,
A little too much log info there for my taste at least :) Especially when it's done in normal font and with doble line spacing. Gets very confusing.
Anyways, regarding UnoEuro web hosting and Umbraco then there is a discussion between Niels Hartvig and UnoEuro in a UnoEuro blog discussing this problem (you can google it).
Seems that UnoEuro doesn't allow users to change the lower_case_table_names settings. The only way around it is to pay UnoEuro for a MSSQL upgrade instead of MySQL.. Or to fix the issue - which seems to be somewhat old - directly in the Umbraco code on github.
Alternatively one can also manually rename all the Umbraco tables in MySQL to the correct case. This should apparently also work.
Sorry about the format. I didn't know it would look like that when posting :(
I can see that no fix is going to be made any time soon. Since I don't have much experience with .Net and even less time I will go for MS SQL CE if that is possible on UnoEuro :)
UPDATE:
Hello guys. I would like to share how I solved this. The problem is using a MySQL installed on linux. The lowercasetable_names setting is case-insensitive and windows is not. An alternative is to configure your MySQL. However it is not possible to do this in the hosting, generating these errors.
I discovered in the source code of umbraco that what makes the query Uppercase is this method in SqlParser.cs
Https://github.com/umbraco/Umbraco-CMS/blob/dev-v7/src/umbraco.datalayer/SqlParser.cs#L214
What I did was override the method UppercaseIdentifiers in the MySqlParser without ToUpper. It was strange the name of the method being for uppercase without doing this. But due to the urgency of the situation it was working. https://github.com/umbraco/Umbraco-CMS/blob/dev-v7/src/umbraco.datalayer/SqlHelpers/MySql/MySqlParser.cs
Another way would be to remove the call from the method on that line. Https://github.com/umbraco/Umbraco-CMS/blob/dev-v7/src/umbraco.datalayer/SqlHelpers/MySql/MySqlParser.cs#L37
But I did not measure the impact of it.
This solution involves you downloading the source code corresponding to your version, changing and recompiling and updating the dlls in your installation
https://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html
is working on a reply...