Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Gordon Saxby 1453 posts 1874 karma points
    Sep 06, 2011 @ 17:47
    Gordon Saxby
    1

    Does Courier work with MySQL?

    I have purchased and installed the express version but it crashes when I right mouse click a node (and choose Courier). I get other errors too. This is the error I get:

    FluentNHibernate.Cfg.FluentConfigurationException: An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail.

    ---> System.ArgumentException: Keyword not supported.
    Parameter name: datalayer
    at MySql.Data.MySqlClient.MySqlConnectionStringBuilder.GetKey(String key)
    at MySql.Data.MySqlClient.MySqlConnectionStringBuilder.SetValue(String keyword, Object value)
    at MySql.Data.MySqlClient.MySqlConnectionStringBuilder.set_Item(String key, Object value)
    at System.Data.Common.DbConnectionStringBuilder.set_ConnectionString(String value)
    at MySql.Data.MySqlClient.MySqlConnectionStringBuilder..ctor(String connectionString)
    at MySql.Data.MySqlClient.MySqlConnection.set_ConnectionString(String value)
    at NHibernate.Connection.DriverConnectionProvider.GetConnection()
    at NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare()
    at NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords(Dialect dialect, IConnectionHelper connectionHelper)
    at NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update(ISessionFactory sessionFactory)
    at NHibernate.Impl.SessionFactoryImpl..ctor(Configuration cfg, IMapping mapping, Settings settings, EventListeners listeners)
    at NHibernate.Cfg.Configuration.BuildSessionFactory()
    at FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory() in d:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs:line 93
    --- End of inner exception stack trace ---
    at FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory() in d:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs:line 98
    at Umbraco.Courier.Persistence.V4.NHibernate.NHibernateProvider.GetMySqlSessionFactory(String connectionString) in d:\TeamCity6\buildAgent\work\399aef48762b5884\Umbraco.Courier.Persistence.NHibernate\NHibernate.cs:line 182
    at Umbraco.Courier.Persistence.V4.NHibernate.NHibernateProvider.CreateSessionFactory() in d:\TeamCity6\buildAgent\work\399aef48762b5884\Umbraco.Courier.Persistence.NHibernate\NHibernate.cs:line 170
    at Umbraco.Courier.Persistence.V4.NHibernate.NHibernateProvider.get_SessionFactory() in d:\TeamCity6\buildAgent\work\399aef48762b5884\Umbraco.Courier.Persistence.NHibernate\NHibernate.cs:line 58
    at Umbraco.Courier.Persistence.V4.NHibernate.NHibernateProvider.OpenSession() in d:\TeamCity6\buildAgent\work\399aef48762b5884\Umbraco.Courier.Persistence.NHibernate\NHibernate.cs:line 158
    at Umbraco.Courier.Persistence.V4.NHibernate.Persisters.DocumentItem.AvailableItems[T](ItemIdentifier itemId) in d:\TeamCity6\buildAgent\work\399aef48762b5884\Umbraco.Courier.Persistence.NHibernate\Persisters\Document.cs:line 15
    at Umbraco.Courier.Core.ItemCrud.AvailableItems[T]()
    at Umbraco.Courier.Core.ItemCrudProvider.AvailableItems[T]()
    at Umbraco.Courier.ItemProviders.DocumentItemProvider.AvailableSystemItems() in d:\TeamCity6\buildAgent\work\399aef48762b5884\Umbraco.Courier.Providers\ItemProviders\ContentItemProvider.cs:line 36
    at Umbraco.Courier.Core.ItemProvider.FindSystemItem(String id)
    at Umbraco.Courier.UI.Dialogs.CommitItem.OnInit(EventArgs e)
    at System.Web.UI.Control.InitRecursive(Control namingContainer)
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

    Keyword not supported. Parameter name: datalayer


    System.ArgumentException: Keyword not supported.
    Parameter name: datalayer
    at MySql.Data.MySqlClient.MySqlConnectionStringBuilder.GetKey(String key)
    at MySql.Data.MySqlClient.MySqlConnectionStringBuilder.SetValue(String keyword, Object value)
    at MySql.Data.MySqlClient.MySqlConnectionStringBuilder.set_Item(String key, Object value)
    at System.Data.Common.DbConnectionStringBuilder.set_ConnectionString(String value)
    at MySql.Data.MySqlClient.MySqlConnectionStringBuilder..ctor(String connectionString)
    at MySql.Data.MySqlClient.MySqlConnection.set_ConnectionString(String value)
    at NHibernate.Connection.DriverConnectionProvider.GetConnection()
    at NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare()
    at NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords(Dialect dialect, IConnectionHelper connectionHelper)
    at NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update(ISessionFactory sessionFactory)
    at NHibernate.Impl.SessionFactoryImpl..ctor(Configuration cfg, IMapping mapping, Settings settings, EventListeners listeners)
    at NHibernate.Cfg.Configuration.BuildSessionFactory()
    at FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory() in d:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs:line 93

     

    looks like MySQL is not supported?!

     

  • Gordon Saxby 1453 posts 1874 karma points
    Sep 06, 2011 @ 21:50
    Gordon Saxby
    0

    I was told via Twitter that "the nhibernate layer should handle it just fine in 2.1.1", so I uninstalled Courier 2.1, downloaded v2.1.1 from the Projects page and installed it on both websites (local and remote).

    I then tried activating Courier on a single content node and got the same (?) error.

  • Gordon Saxby 1453 posts 1874 karma points
    Sep 06, 2011 @ 23:25
    Gordon Saxby
    0

    Well, I've tried Courier on nodes, document types, stylesheets, etc and they all fail - and all have the message

    Keyword not supported. Parameter name: datalayer

    Doesn't that mean that it is not handling the fact that the database is MySQL?!     :-(

  • Gordon Saxby 1453 posts 1874 karma points
    Sep 07, 2011 @ 15:43
    Gordon Saxby
    0

    I assume no one else has used Courier on a MySQL powered site? Has anyone at Umbraco HQ tested to see if it does?

    I'm a bit stuck at the moment ... I've purchased a licence for a product that won't work, for a site that I am trying to get live very soon! :-(

     

  • Sergio 73 posts 93 karma points
    Sep 07, 2011 @ 17:17
    Sergio
    0

    Hi Gordon,

    I have exactly the same problem and I´m using SQL Server 2008 R2.

    Let´s hope somebody can help us...

  • Per Ploug 865 posts 3491 karma points MVP admin
    Sep 08, 2011 @ 12:31
    Per Ploug
    0

    Sergio, your issue should be solved by modifying the connection-string in your webconfig

    You use Sql Server, you should not need to have the datalayer attribute in the connection string

    In regad to MySql, there should be a check in the nhibernate layer that strips out that attribute, but in @gordons case it seems it doesn't

    Atleast the 2.5 nightly build nhibernate dll has this check, so you could try to replace the umbraco.courier.persistences.v4.nhibernate dll (and ONLY that single dll)

    http://nightly.umbraco.org/UmbracoCourier/2.5/nightly%20builds/

     

  • Sergio 73 posts 93 karma points
    Sep 08, 2011 @ 13:15
    Sergio
    0

    Thanks Per!

    That was exactly my problem. Now it´s working.

    The datalayer attribute is it writed by default in the connection string?

  • Per Ploug 865 posts 3491 karma points MVP admin
    Sep 08, 2011 @ 13:55
    Per Ploug
    0

    @sergio, nope as far as I know, it should normally not be added on a normal installation

  • Gordon Saxby 1453 posts 1874 karma points
    Sep 08, 2011 @ 13:58
    Gordon Saxby
    0

    OK, I downloaded Courier_2_5_2.5.17_hotfix.zip and extracted Umbraco.Courier.Persistence.V4.NHibernate.dll & pdb into the bin folder of my website. I restarted IIS and tried again ... and got this -

    System.TypeLoadException: Could not load type 'Umbraco.Courier.ItemProviders.ItemProviders.Entities.TagGroup' from assembly 'Umbraco.Courier.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
    at System.Reflection.CustomAttribute._CreateCaObject(RuntimeModule pModule, IRuntimeMethodInfo pCtor, Byte** ppBlob, Byte* pEndBlob, Int32* pcNamedArgs)
    at System.Reflection.CustomAttribute.CreateCaObject(RuntimeModule module, IRuntimeMethodInfo ctor, IntPtr& blob, IntPtr blobEnd, Int32& namedArgs)
    at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent)
    at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit)
    at System.RuntimeType.GetCustomAttributes(Boolean inherit)
    at Umbraco.Courier.Core.ItemCrudProvider.get_ItemCrudProviders()
    at Umbraco.Courier.Core.ItemCrudProvider.GetCrudForType(Type type)
    at Umbraco.Courier.Core.ItemCrudProvider.AvailableItems[T]()
    at Umbraco.Courier.ItemProviders.DocumentItemProvider.AvailableSystemItems() in d:\TeamCity6\buildAgent\work\10d13058beb058ea\Umbraco.Courier.Providers\ItemProviders\ContentItemProvider.cs:line 36
    at Umbraco.Courier.Core.ItemProvider.FindSystemItem(String id)
    at Umbraco.Courier.UI.Dialogs.CommitItem.OnInit(EventArgs e)
    at System.Web.UI.Control.InitRecursive(Control namingContainer)
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

     

     

  • Gordon Saxby 1453 posts 1874 karma points
    Sep 09, 2011 @ 10:36
    Gordon Saxby
    0

    Do I need to install the entire v2.5 from nightly?

     

  • Megan 1 post 21 karma points
    Sep 11, 2011 @ 21:10
    Megan
    0

    I have the same problem that Gordon is having. Replacing the Umbraco.Courier.Persistence.V4.NHibernate.dll fixed the "keyword datalayer" error for me, but now I am getting the same error he copied above about not being able to load the type "TagGroup". I am using MySQL, too. Any suggestions would be greatly appreciated!

  • Casey Neehouse 1339 posts 483 karma points MVP 2x admin
    Sep 12, 2011 @ 20:31
    Casey Neehouse
    0

    Hello,

    The TagGroup is a new addition that was not fully completed with the nighly build.  The nightly has been updated, and I believe this issue has been resolved.

    http://nightly.umbraco.org/UmbracoCourier/2.5/nightly%20builds/Courier_2.5_2.5.0.19_hotfix.zip

    Try the Umbraco.Courier.Persistence.V4.NHibernate.dll from this archive.

    Casey

  • Gordon Saxby 1453 posts 1874 karma points
    Sep 13, 2011 @ 23:29
    Gordon Saxby
    0

    Downloaded the zip from the link above, copied Umbraco.Courier.Persistence.V4.NHibernate.dll and .pdb into the bin folder of my website. Restarted IIS. Logged onto Umbraco, right clicked node, chose Courier and got ...

     

    An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail.

  • Gordon Saxby 1453 posts 1874 karma points
    Sep 19, 2011 @ 13:37
    Gordon Saxby
    0

    Courier still does not work with MySQL ... is there anything else I can try?

     

  • Per Ploug 865 posts 3491 karma points MVP admin
    Sep 23, 2011 @ 10:43
    Per Ploug
    0

    Hi Gordon, I have a local install running on webmatrix, using mysql as a datastore, the latest nigtlies should support this as well, (2.5.0.30 is what I just tested this on)

    http://nightly.umbraco.org/UmbracoCourier/2.5/nightly%20builds/

     

    /Per

     

  • Gordon Saxby 1453 posts 1874 karma points
    Sep 23, 2011 @ 20:51
    Gordon Saxby
    0

    Per, should I install the full version from nightly or continue just copying in the DLL?

     

  • Gordon Saxby 1453 posts 1874 karma points
    Oct 05, 2011 @ 14:18
    Gordon Saxby
    0

    Got the sam DLL from nightly number 34, now I get this error

    System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
    at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
    at Umbraco.Courier.Core.ItemProvider.get_DatabasePersistence()
    at Umbraco.Courier.ItemProviders.DocumentItemProvider.AvailableSystemItems() in d:\TeamCity6\buildAgent\work\399aef48762b5884\Umbraco.Courier.Providers\ItemProviders\ContentItemProvider.cs:line 36
    at Umbraco.Courier.Core.ItemProvider.FindSystemItem(String id)
    at Umbraco.Courier.UI.Dialogs.CommitItem.OnInit(EventArgs e)
    at System.Web.UI.Control.InitRecursive(Control namingContainer)
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

     

    What next?

     

  • Per Ploug 865 posts 3491 karma points MVP admin
    Oct 05, 2011 @ 14:30
    Per Ploug
    0

    Did it work with an earlier nightly build? 

    Not all nightly builds will be stable, so can't really pinpoint what that specific issue is about

    /Per

  • Gordon Saxby 1453 posts 1874 karma points
    Oct 05, 2011 @ 15:04
    Gordon Saxby
    0

    OK, I have removed Courier from Umbraco again. I will re-install and try the dll from nightly v30 later ...

     

    By the way - Courier has never worked for me with MySQL

  • Gordon Saxby 1453 posts 1874 karma points
    Oct 06, 2011 @ 13:01
    Gordon Saxby
    0

    Uninstalled Courier - removed the extra table from the database - reinstalled Courier from within Umbraco admin - downloaded Courier_2.5_2.5.0.30_hotfix.zip - copied Umbraco.Courier.Persistence.V4.NHibernate.dll into the bin folder - logged off - refreshed browser - logged on - selected a content node - selected "Courier" from context menu and got -

     

    The given key was not present in the dictionary.

    Error details

     

    System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
    at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
    at Umbraco.Courier.Core.ItemProvider.get_DatabasePersistence()
    at Umbraco.Courier.ItemProviders.DocumentItemProvider.AvailableSystemItems() in d:\TeamCity6\buildAgent\work\399aef48762b5884\Umbraco.Courier.Providers\ItemProviders\ContentItemProvider.cs:line 36
    at Umbraco.Courier.Core.ItemProvider.FindSystemItem(String id)
    at Umbraco.Courier.UI.Dialogs.CommitItem.OnInit(EventArgs e)
    at System.Web.UI.Control.InitRecursive(Control namingContainer)
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

     

    Any ideas?

     

  • Gordon Saxby 1453 posts 1874 karma points
    Oct 06, 2011 @ 15:13
    Gordon Saxby
    0

    Just noticed that installing this Courier dll has broken the website - using umDebugShowTrace I can see lots of this -

    Unable to load one or more of the types in assembly 'Umbraco.Courier.Persistence.V4.NHibernate, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Exceptions were thrown:<br>System.IO.FileLoadException: Could not load file or assembly 'FluentNHibernate, Version=1.2.0.712, Culture=neutral, PublicKeyToken=8aa435e3cb308880' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

     

    Does that help?

  • Gordon Saxby 1453 posts 1874 karma points
    Oct 07, 2011 @ 12:16
    Gordon Saxby
    0

    I tried instlling the full version of the latest "nightly" but that failed as well. As a last attempt, I uninstalled (again!) and then installed the nightly version Courier_2.5_2.5.0.30.zip as mentioned by Per above ... and it worked!!!

    I haven't done an actual transfer yet but it all seems to be functioning so far.

  • Gordon Saxby 1453 posts 1874 karma points
    Nov 23, 2011 @ 16:31
    Gordon Saxby
    0

    I still have the nightly version installed (previous post) and have just tried to create a Package. The package created OK but I cannot add any irems to it - as soon as I click "package selected" I get this error:

     

    System.Runtime.Serialization.SerializationException: Expecting element 'root' from namespace ''.. Encountered 'None' with name '', namespace ''.
    at System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName)
    at System.Runtime.Serialization.XmlObjectSerializer.InternalReadObject(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
    at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
    at System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(XmlDictionaryReader reader)
    at System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(Stream stream)
    at Umbraco.Courier.Core.Helpers.Serialization.Json.Deserialise[T](String json)
    at Umbraco.Courier.UI.Pages.EditRevisions.(Object sender, EventArgs e)
    at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
    at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
    at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
    at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
    at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

     

    I did try installing the latest version from the repository but that doesn't appear to work with MySQL either!?!?

     

Please Sign in or register to post replies

Write your reply to:

Draft