0
votes

It was working then it fails all of a sudden. Try a few parsing but no luck. Error Code: SqlException

Message Conversion failed when converting from a character string to uniqueidentifier.

Stack Trace

[SalesOrderDetailsGet: 14/08/2015 7:59:29 AM]: [REQUEST: {SalesOrderId:676b44dcb0c245a5a3191cda194b3267}] System.Data.SqlClient.SqlException (0x80131904): Conversion failed when converting from a character string to uniqueidentifier. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean& moreRows) at System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more) at System.Data.SqlClient.SqlDataReader.Read() at ServiceStack.OrmLite.OrmLiteUtils.ConvertTo[T](IDataReader dataReader, IOrmLiteDialectProvider dialectProvider) at ServiceStack.OrmLite.OrmLiteResultsFilterExtensions.ConvertTo[T](IDbCommand dbCmd, String sql) at ServiceStack.OrmLite.OrmLiteReadCommandExtensions.SingleById[T](IDbCommand dbCmd, Object value) at ServiceStack.OrmLite.OrmLiteReadApi.<>c__DisplayClass3c1.<SingleById>b__3b(IDbCommand dbCmd) at ServiceStack.OrmLite.OrmLiteExecFilter.Exec[T](IDbConnection dbConn, Func2 filter) at ServiceStack.OrmLite.OrmLiteReadExpressionsApi.Exec[T](IDbConnection dbConn, Func2 filter) at ServiceStack.OrmLite.OrmLiteReadApi.SingleById[T](IDbConnection dbConn, Object idValue) at BookWS.ServiceLogic.Sales.SalesOrderDataProcess.GetSalesOrderById(Guid id) in C:\Users\Carl\Documents\Visual Studio 2013\Projects\BookWS\BookWS\BookWS.ServiceLogic\Sales\SalesOrderDataProcess.cs:line 38 at BookWS.ServiceInterface.SalesOrderServices.Get(SalesOrderDetailsGet request) in C:\Users\Carl\Documents\Visual Studio 2013\Projects\BookWS\BookWS\BookWS.ServiceInterface\Sales\SalesOrderServices.cs:line 40 at lambda_method(Closure , Object , Object ) at ServiceStack.Host.ServiceRunner1.Execute(IRequest request, Object instance, TRequest requestDto) ClientConnectionId:0a6a1c79-14e9-4575-9fab-21c542508a78 Error Number:8169,State:2,Class:16

GET:

public Object Get(SalesOrderDetailsGet request)
        {
            SalesOrderDataProcess sODP = new SalesOrderDataProcess(Db);
            SalesOrder salesOrderTemp = sODP.GetSalesOrderById(request.SalesOrderId);

Data layer:

 public SalesOrder GetSalesOrderById(Guid id)
        {
            return _dbConnection.SingleById<SalesOrder>(id);
        }

The running stopped at above block's

return _dbConnection.SingleById<SalesOrder>(id);

Thank you very much.

1

1 Answers

2
votes

This is a common SQL Server exception indicating that it couldn't convert the string value into a uniqueidentifier (i.e. GUID).

Go back and ensure all data in your Table has a value for the uniqueidentifier field and that the value is a valid GUID.