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 1461 posts 1883 karma points
    Nov 25, 2011 @ 12:59
    Gordon Saxby
    0

    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)

     

  • Per Ploug 865 posts 3491 karma points MVP admin
    Nov 29, 2011 @ 10:58
    Per Ploug
    0

    Hey Gordon, could you please post your connectionstring here (replace pass and username etc if needed)

    /Per

  • Gordon Saxby 1461 posts 1883 karma points
    Nov 29, 2011 @ 11:08
    Gordon Saxby
    0

    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.

  • Per Ploug 865 posts 3491 karma points MVP admin
    Nov 29, 2011 @ 11:20
    Per Ploug
    0

    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;"

  • Gordon Saxby 1461 posts 1883 karma points
    Nov 29, 2011 @ 11:47
    Gordon Saxby
    0

    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!

    'Extracting test' was not completed, as it returned an error

    Close this window

    In-progress tasks

    Queued tasks

    Recently processed tasks

    • Packaging

      Packaging test
      Completed on: 29/11/2011 10:33:49

      Extraction

      Extracting test
      System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: http://courier.umbraco.org/GetResourceHash. at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message) at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Umbraco.Courier.RepositoryProviders.WebServiceProvider.RepositoryWebservice.GetResourceHash(String sessionKey, Resource resource, String user, String pass) at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.Hash(Resource resource) at Umbraco.Courier.Core.Extraction.RevisionExtraction.–(Item item, Boolean isDependency, ResourceExtractionOrder order) at Umbraco.Courier.Core.Extraction.RevisionExtraction.’() at Umbraco.Courier.Core.Extraction.RevisionExtraction.Extract() at Umbraco.Courier.Core.Tasks.ExtractionTask.Run() at Umbraco.Courier.Core.TaskManager.(IRevisionTask value) 29/11/2011 10:34:01

       

Please Sign in or register to post replies

Write your reply to:

Draft