Critical Error: Data Store Unavailable

The data store used by eCommerce Framework cannot be opened.


Resolution:
Please ensure that your data service is online and running and that the connection string in your web.config file is correct and make sure the key specified by
ConnnectionStringName exists in connectionStrings section.

To configure your connection string:

1. Open [Install Location of eCommerce Framework]\PublicStore\web.config

2. Within web.config find the configuration section (highlighted) below:

<configuration>
   <ClientConfig>
        <Settings ConnectionStringName="EcfSqlConnection" SubscriptionId="{SUBSCRIPTION_GUID}" 
CartKey="ShoppingCartKey" AffiliateKey="AffiliateKey" Expires="24"></Settings> 
   </ClientConfig> 
   ...

   <connectionStrings>
        <add name="EcfSqlConnection" connectionString="{connection string to your database}"/>
   </connectionStrings>
</configuration>
Error Message:
System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) 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(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParserStateObject.WriteSni() at System.Data.SqlClient.TdsParserStateObject.WritePacket(Byte flushMode) at System.Data.SqlClient.TdsParserStateObject.ExecuteFlush() at System.Data.SqlClient.TdsParser.TdsExecuteRPC(_SqlRPC[] rpcArray, Int32 timeout, Boolean inSchema, SqlNotificationRequest notificationRequest, TdsParserStateObject stateObj, Boolean isCommandProc) 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.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) at Mediachase.eCF.DataLayer.Provider.SqlDataProvider.LoadTable(DataCommand command) in C:\Documents and Settings\mlosapio\My Documents\~Projects\Dreamland\eCommerce Framework SDK 4.1\SupportProjects\Data\SqlDataProvider\SqlDataProvider.cs:line 251 at Mediachase.eCF.DataLayer.Provider.DataService.LoadTable(DataCommand command) in C:\Documents and Settings\mlosapio\My Documents\~Projects\Dreamland\eCommerce Framework SDK 4.1\SupportProjects\Data\DataProvider\DataService.cs:line 52 at Mediachase.eCF.DataLayer.DBProduct.LoadByPrimaryKey(Int32 ProductId, Int32 CustomerId, Int32 AccessLevel, Boolean ShowHidden) in C:\Documents and Settings\mlosapio\My Documents\~Projects\Dreamland\eCommerce Framework SDK 4.1\BusinessLayer\BusinessLibrary\Data\DBProduct.cs:line 174 at Mediachase.eCF.BusLayer.SiteStructure.Products.Product.LoadByPrimaryKey(Int32 ProductId, Boolean ShowHidden) in C:\Documents and Settings\mlosapio\My Documents\~Projects\Dreamland\eCommerce Framework SDK 4.1\BusinessLayer\BusinessLibrary\SiteStructure\Products\Product.cs:line 567 at Mediachase.eCF.BusLayer.SiteStructure.Products.Product.GetByProductId(Int32 ProductId, Boolean showhidden) in C:\Documents and Settings\mlosapio\My Documents\~Projects\Dreamland\eCommerce Framework SDK 4.1\BusinessLayer\BusinessLibrary\SiteStructure\Products\Product.cs:line 102 at Mediachase.eCF.BusLayer.SiteStructure.Products.Product.GetByProductId(Int32 ProductId) in C:\Documents and Settings\mlosapio\My Documents\~Projects\Dreamland\eCommerce Framework SDK 4.1\BusinessLayer\BusinessLibrary\SiteStructure\Products\Product.cs:line 121 at Mediachase.eCF.BusFacade.SiteManager.ProcessSiteLookupRequest(SiteLookupRequest request, IList`1& errorArray) in C:\Documents and Settings\mlosapio\My Documents\~Projects\Dreamland\eCommerce Framework SDK 4.1\BusinessLayer\FacadeLibrary\SiteManager.cs:line 135 at Mediachase.eCF.BusFacade.SiteManager.SiteLookup(SiteLookup lookup) in C:\Documents and Settings\mlosapio\My Documents\~Projects\Dreamland\eCommerce Framework SDK 4.1\BusinessLayer\FacadeLibrary\SiteManager.cs:line 93 at Mediachase.eCF.ClientLib2.ClientProduct.LookupProducts(SiteLookupRequestIdType type, Int32[] objects, String[] responseGroups, ErrorsError[]& errors) in C:\Documents and Settings\mlosapio\My Documents\~Projects\Dreamland\eCommerce Framework SDK 4.1\PublicLayer\ClientLibrary\ClientProduct.cs:line 116

  For more information visit http://www.mediachase.com.