I setup a fresh installation with v4.7.1 on MySQL and then installed Courier 2.5 from the repository.
I created a folder and then an image in the Media library.
I selected "Courier" from the right-click menu and got an error!
Should Courier work with MySQL?
NHibernate.Exceptions.GenericADOException: could not execute query [ SELECT this_.id as id32_1_, this_.createDate as createDate32_1_, this_.level as level32_1_, this_.nodeObjectType as nodeObje4_32_1_, this_.path as path32_1_, this_.sortOrder as sortOrder32_1_, this_.text as text32_1_, this_.trashed as trashed32_1_, this_.uniqueID as uniqueID32_1_, this_.nodeUser as nodeUser32_1_, this_.parentID as parentID32_1_, umbracouse2_.id as id38_0_, umbracouse2_.defaultToLiveEditing as defaultT2_38_0_, umbracouse2_.startMediaID as startMed3_38_0_, umbracouse2_.startStructureID as startStr4_38_0_, umbracouse2_.userDefaultPermissions as userDefa5_38_0_, umbracouse2_.userDisabled as userDisa6_38_0_, umbracouse2_.userEmail as userEmail38_0_, umbracouse2_.userLanguage as userLang8_38_0_, umbracouse2_.userLogin as userLogin38_0_, umbracouse2_.userName as userName38_0_, umbracouse2_.userNoConsole as userNoC11_38_0_, umbracouse2_.userPassword as userPas12_38_0_ FROM umbracoNode this_ left outer join umbracoUser umbracouse2_ on this_.nodeUser=umbracouse2_.id WHERE this_.parentID = ? and this_.nodeObjectType = ? ] Positional parameters: #0>-1 #1>b796f64c-1f99-4ffb-b886-4bf4bc011a9c [SQL: SELECT this_.id as id32_1_, this_.createDate as createDate32_1_, this_.level as level32_1_, this_.nodeObjectType as nodeObje4_32_1_, this_.path as path32_1_, this_.sortOrder as sortOrder32_1_, this_.text as text32_1_, this_.trashed as trashed32_1_, this_.uniqueID as uniqueID32_1_, this_.nodeUser as nodeUser32_1_, this_.parentID as parentID32_1_, umbracouse2_.id as id38_0_, umbracouse2_.defaultToLiveEditing as defaultT2_38_0_, umbracouse2_.startMediaID as startMed3_38_0_, umbracouse2_.startStructureID as startStr4_38_0_, umbracouse2_.userDefaultPermissions as userDefa5_38_0_, umbracouse2_.userDisabled as userDisa6_38_0_, umbracouse2_.userEmail as userEmail38_0_, umbracouse2_.userLanguage as userLang8_38_0_, umbracouse2_.userLogin as userLogin38_0_, umbracouse2_.userName as userName38_0_, umbracouse2_.userNoConsole as userNoC11_38_0_, umbracouse2_.userPassword as userPas12_38_0_ FROM umbracoNode this_ left outer join umbracoUser umbracouse2_ on this_.nodeUser=umbracouse2_.id WHERE this_.parentID = ? and this_.nodeObjectType = ?] ---> 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.AdoNet.ConnectionManager.GetConnection() at NHibernate.AdoNet.AbstractBatcher.Prepare(IDbCommand cmd) at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd) at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean autoDiscoverTypes, Boolean callable, RowSelection selection, ISessionImplementor session) at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) --- End of inner exception stack trace --- at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters) at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes) at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results) at NHibernate.Impl.CriteriaImpl.List(IList results) at NHibernate.Impl.CriteriaImpl.List[T]() at Umbraco.Courier.Persistence.V4.NHibernate.Helpers.CmsNodeHelper.GetNodeChildren(Guid uniqueId, Guid nodeObjectType, ISession session) at Umbraco.Courier.Persistence.V4.NHibernate.Persisters.MediaItem.AvailableItems[T](ItemIdentifier itemId) at Umbraco.Courier.Core.ItemCrud.AvailableItems[T]() at Umbraco.Courier.Core.ItemCrudProvider.AvailableItems[T]() at Umbraco.Courier.ItemProviders.MediaItemProvider.AvailableSystemItems() 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.AdoNet.ConnectionManager.GetConnection() at NHibernate.AdoNet.AbstractBatcher.Prepare(IDbCommand cmd) at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd) at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean autoDiscoverTypes, Boolean callable, RowSelection selection, ISessionImplementor session) at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
OK - I have 2 sites "oldSQL" and "newMySQL". I successfully Courier'd a Media folder from "oldSQL" to "newMySQL" (which is EXTREMELY handy!!), but trying the other way produced the error below. It's not a major problem for me as it works in the direction I need it, but I thought you might like to know!
Support for MySQL?
I setup a fresh installation with v4.7.1 on MySQL and then installed Courier 2.5 from the repository.
I created a folder and then an image in the Media library.
I selected "Courier" from the right-click menu and got an error!
Should Courier work with MySQL?
NHibernate.Exceptions.GenericADOException: could not execute query
[ SELECT this_.id as id32_1_, this_.createDate as createDate32_1_, this_.level as level32_1_, this_.nodeObjectType as nodeObje4_32_1_, this_.path as path32_1_, this_.sortOrder as sortOrder32_1_, this_.text as text32_1_, this_.trashed as trashed32_1_, this_.uniqueID as uniqueID32_1_, this_.nodeUser as nodeUser32_1_, this_.parentID as parentID32_1_, umbracouse2_.id as id38_0_, umbracouse2_.defaultToLiveEditing as defaultT2_38_0_, umbracouse2_.startMediaID as startMed3_38_0_, umbracouse2_.startStructureID as startStr4_38_0_, umbracouse2_.userDefaultPermissions as userDefa5_38_0_, umbracouse2_.userDisabled as userDisa6_38_0_, umbracouse2_.userEmail as userEmail38_0_, umbracouse2_.userLanguage as userLang8_38_0_, umbracouse2_.userLogin as userLogin38_0_, umbracouse2_.userName as userName38_0_, umbracouse2_.userNoConsole as userNoC11_38_0_, umbracouse2_.userPassword as userPas12_38_0_ FROM umbracoNode this_ left outer join umbracoUser umbracouse2_ on this_.nodeUser=umbracouse2_.id WHERE this_.parentID = ? and this_.nodeObjectType = ? ]
Positional parameters: #0>-1 #1>b796f64c-1f99-4ffb-b886-4bf4bc011a9c
[SQL: SELECT this_.id as id32_1_, this_.createDate as createDate32_1_, this_.level as level32_1_, this_.nodeObjectType as nodeObje4_32_1_, this_.path as path32_1_, this_.sortOrder as sortOrder32_1_, this_.text as text32_1_, this_.trashed as trashed32_1_, this_.uniqueID as uniqueID32_1_, this_.nodeUser as nodeUser32_1_, this_.parentID as parentID32_1_, umbracouse2_.id as id38_0_, umbracouse2_.defaultToLiveEditing as defaultT2_38_0_, umbracouse2_.startMediaID as startMed3_38_0_, umbracouse2_.startStructureID as startStr4_38_0_, umbracouse2_.userDefaultPermissions as userDefa5_38_0_, umbracouse2_.userDisabled as userDisa6_38_0_, umbracouse2_.userEmail as userEmail38_0_, umbracouse2_.userLanguage as userLang8_38_0_, umbracouse2_.userLogin as userLogin38_0_, umbracouse2_.userName as userName38_0_, umbracouse2_.userNoConsole as userNoC11_38_0_, umbracouse2_.userPassword as userPas12_38_0_ FROM umbracoNode this_ left outer join umbracoUser umbracouse2_ on this_.nodeUser=umbracouse2_.id WHERE this_.parentID = ? and this_.nodeObjectType = ?] ---> 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.AdoNet.ConnectionManager.GetConnection()
at NHibernate.AdoNet.AbstractBatcher.Prepare(IDbCommand cmd)
at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd)
at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean autoDiscoverTypes, Boolean callable, RowSelection selection, ISessionImplementor session)
at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
--- End of inner exception stack trace ---
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes)
at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results)
at NHibernate.Impl.CriteriaImpl.List(IList results)
at NHibernate.Impl.CriteriaImpl.List[T]()
at Umbraco.Courier.Persistence.V4.NHibernate.Helpers.CmsNodeHelper.GetNodeChildren(Guid uniqueId, Guid nodeObjectType, ISession session)
at Umbraco.Courier.Persistence.V4.NHibernate.Persisters.MediaItem.AvailableItems[T](ItemIdentifier itemId)
at Umbraco.Courier.Core.ItemCrud.AvailableItems[T]()
at Umbraco.Courier.Core.ItemCrudProvider.AvailableItems[T]()
at Umbraco.Courier.ItemProviders.MediaItemProvider.AvailableSystemItems()
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.AdoNet.ConnectionManager.GetConnection()
at NHibernate.AdoNet.AbstractBatcher.Prepare(IDbCommand cmd)
at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd)
at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean autoDiscoverTypes, Boolean callable, RowSelection selection, ISessionImplementor session)
at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
Hey Gordon, could you please post your connectionstring here (replace pass and username etc if needed)
/Per
Hi Per,
below is the connection string - as far as I remember, this is how the install wizard created it (except I've changed the password, etc!):
add key="umbracoDbDSN" value="server=localhost;database=dbhere;user id=useridhere;password=pwdhere;datalayer=MySql"
just in case it makes any difference - the real values for database and user id are both mixed case.
ok, think I found the issue, will add a permanent fix in next maintance, but if you add a ; to the end of the connectionstring, it should work
ala this:
add key="umbracoDbDSN" value="server=localhost;database=dbhere;user id=useridhere;password=pwdhere;datalayer=MySql;"
Yes, that fixed that issue!
OK - I have 2 sites "oldSQL" and "newMySQL". I successfully Courier'd a Media folder from "oldSQL" to "newMySQL" (which is EXTREMELY handy!!), but trying the other way produced the error below. It's not a major problem for me as it works in the direction I need it, but I thought you might like to know!
is working on a reply...