Donations failed according the the DonationTransactions table with the following error; however, BBMS still approved the transactions.
Sor far the customer has had 8 transactions that have failed due to this issue and the donor was still charged by BBMS. I have also identified 74 of these failures in the data from 11/02/2012 to 11/21/2013
Customer is looking for a way to identify any additional ones that may not have been reported along with a way to resolve this going forward. We can use the following query but would need a way to check this against BBMS/BBPS records:
WHERE [Status] = 4
AND FailureData like '%<Message>Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.</Message>%'
This may be caused by the processor for BBMS not responding prior to the timeout for BBIS.
Customer is also wanting to know what we can do to prevent this in the future.
<?xml version="1.0" encoding="utf-16"?>
<ExceptionDetails xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Source>.Net SqlClient Data Provider</Source>
<Message>Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.</Message>
<StackTrace> at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
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.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at Blackbaud.Web.Content.Core.Data.Transactions.SaveDonation(ShelbyDonationTran oDonation, Int32 iPKID, Boolean bQueueForDownload)