Error when trying to select customer in AX 2012 R2 POS

This question is answered

When I click the Search Customer button on the POS, then highlight the customer and click the Select button, I get an error.

LSRetailPosis.POSProcesses.POSProcessThread: System.Data.SqlClient.SqlException (0x80131904): Invalid object name 'dbo.RETAILCUSTTRANSACTIONS'.

I have tried deleting the POS database, and recreating it, but it didn't do anything. 

Are there any settings I might be missing in core AX to get rid of this error?

Thanks,

Brandon

Verified Answer
  • The solution was that the register was set to stand alone and had an IP address of localhost. After unchecking stand-alone and removed the IP address, and deployed the settings, this issue was resolved.

All Replies
  • Can you confirm the table actually exists in the database, and the correct database is being queried?

    Tommy Skaue | Dynamics AX Developer from Norway | http://yetanotherdynamicsaxblog.blogspot.no/ | www.axdata.no

  • The table doesn't exist, but when I create the database using the Database Utility tool, the table doesn't get created.

  • This table does not exist in the AX 2012 R2 Store or Offline databases. Have you or someone else made any customizations to the POS?

  • No customizations have been made. I was in the process of setting up the environment so we can, but I ran into this first. Is it possible the POS dlls are not the correct ones?

  • As long as you ran the POS installation from the AX 2012 R2 installation file, there should not be any chance of having the wrong POS dll's.

    Is this the whole error you get in the Event Viewer? What error do you receive on the POS. Is it a "Cannot find customer ..." or is it some error number that is shown?

  • The error I get in the POS is:

    Error Number: 1002 An error occurred in the operation.

    The error in event viewer is:

    LSRetailPosis.POSProcesses.POSProcessThread: System.Data.SqlClient.SqlException (0x80131904): Invalid object name 'dbo.RETAILCUSTTRANSACTIONS'.

      at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)

      at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)

      at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()

      at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)

      at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()

      at System.Data.SqlClient.SqlDataReader.get_MetaData()

      at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)

      at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)

      at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)

      at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)

      at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)

      at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)

      at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)

      at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior).

    There are 4 error messages, all with the same error at the top, but the stack traces are slightly different.

  • The solution was that the register was set to stand alone and had an IP address of localhost. After unchecking stand-alone and removed the IP address, and deployed the settings, this issue was resolved.

  • Hi,

    I am also having same problem with different error message for only some of our customers in our stores. when we search for the customer account i am able to see the customer account in the search results but when the Moment I select the customer the follwing error comes on the POS screen. at the same time i can see the follwing 2 errors in the event viewer.

    Please assist me.

    1). --------------------------------------------

    LSRetailPosis.POSProcesses.CustomerSearch: System.InvalidOperationException: Sequence contains more than one element

      at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)

      at System.Data.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__2[TResult](IEnumerable`1 sequence)

      at System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot)

      at System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[S](Expression expression)

      at System.Data.Entity.Internal.Linq.DbQueryProvider.Execute[TResult](Expression expression)

      at System.Linq.Queryable.SingleOrDefault[TSource](IQueryable`1 source)

      at Microsoft.Dynamics.Retail.Pos.DataManager.CustomerDataManager.GetElectronicAddressesForLocation(Int64 locationId)

      at Microsoft.Dynamics.Retail.Pos.DataManager.CustomerDataManager.SetCustomerPostalAddress(Customer customer, PostalAddress postalAddress)

      at Microsoft.Dynamics.Retail.Pos.DataManager.CustomerDataManager.GetTransactionalCustomer(String accountNumber)

      at LSRetailPosis.BusinessLogic.CustomerSystem.GetCustomerInfo(String customerId)

      at Microsoft.Dynamics.Retail.Pos.Customer.Customer.Search() in D:\Dev\POS Plug-ins\Services\Customer\Customer.cs:line 381

      at Microsoft.Dynamics.Retail.Pos.Customer.Customer.Search(IPosTransaction posTransaction) in D:\Dev\POS Plug-ins\Services\Customer\Customer.cs:line 99

      at LSRetailPosis.POSProcesses.CustomerSearch.Execute().

    2). --------------------------------------------------------------------

    LSRetailPosis.POSProcesses.POSProcessThread: System.InvalidOperationException: Sequence contains more than one element

      at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)

      at System.Data.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__2[TResult](IEnumerable`1 sequence)

      at System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot)

      at System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[S](Expression expression)

      at System.Data.Entity.Internal.Linq.DbQueryProvider.Execute[TResult](Expression expression)

      at System.Linq.Queryable.SingleOrDefault[TSource](IQueryable`1 source)

      at Microsoft.Dynamics.Retail.Pos.DataManager.CustomerDataManager.GetElectronicAddressesForLocation(Int64 locationId)

      at Microsoft.Dynamics.Retail.Pos.DataManager.CustomerDataManager.SetCustomerPostalAddress(Customer customer, PostalAddress postalAddress)

      at Microsoft.Dynamics.Retail.Pos.DataManager.CustomerDataManager.GetTransactionalCustomer(String accountNumber)

      at LSRetailPosis.BusinessLogic.CustomerSystem.GetCustomerInfo(String customerId)

      at Microsoft.Dynamics.Retail.Pos.Customer.Customer.Search() in D:\Dev\POS Plug-ins\Services\Customer\Customer.cs:line 381

      at Microsoft.Dynamics.Retail.Pos.Customer.Customer.Search(IPosTransaction posTransaction) in D:\Dev\POS Plug-ins\Services\Customer\Customer.cs:line 99

      at LSRetailPosis.POSProcesses.CustomerSearch.Execute()

      at LSRetailPosis.POSProcesses.Operation.RunOperation()

      at LSRetailPosis.POSProcesses.POSProcessThread.ThreadProc().