Příznaky
Jde o takovouto situaci:
-
Máte počítač se systémem Microsoft Commerce Server 2009.
-
Parametr SearchCriteria.CategoriesClause nakonfigurujete tak, aby operaci CommerceQuery prohledáván více kategorií produktů. Například konfigurovat parametr SearchCriteria.CategoriesClause pomocí následující syntaxe:query.SearchCriteria.CategoriesClause = "[IsSearchable] = 1";
-
Můžete spustit operaci CommerceQuery , která vrací více produktů Commerce Server z více kategorií na webu serveru Commerce Server.
V této situaci se zobrazí chybová zpráva podobná následující na webu serveru Commerce Server:
Podrobnosti o výjimce: System.ServiceModel.FaultException'1[[Microsoft.Commerce.Contracts.Faults.GeneralOperationFault, Microsoft.Commerce.Contracts, verze = 1.0.0.0 Culture = neutral, PublicKeyToken = 31bf3856ad364e35]]: Služba operace došlo k chybě při zpracování požadavku. Podrobnosti o chybě byly zaprotokolovány službou.
Chyba zdroj:
Řádek 49: ParameterChecker.CheckForNull (operace, "operace");
Linka 50:
Linka 51: návrat () CommerceFoundationServiceAgent.operationServiveAgent.ProcessRequest
Řádek 52: GetCurrentRequestContext(), operace. ToRequest());
Řádku 53:}
Zdrojový soubor: C:\CS2009\Catalog\Components\CommerceFoundationServiceAgent.cs řádek: 51
Trasování zásobníku:
[Výjimce FaultException'1: Služba operace došlo k chybě při zpracování požadavku. Podrobnosti o chybě byly zaprotokolovány službou.]
Microsoft.Commerce.Broker.OperationService.ProcessRequest(CommerceRequest request) +697
Microsoft.Commerce.Common.OperationServiceAgent.ProcessRequest (CommerceRequestContext requestContext, požadavek CommerceRequest) +154
Microsoft.Samples.Commerce.Catalog.CommerceFoundationServiceAgent.Execute (CommerceBaseBuilder operace) v C:\CS2009\Catalog\Components\CommerceFoundationServiceAgent.cs:51
Microsoft.Samples.Commerce.Catalog.SimpleSearch.BtnSearch_Click (Object sender, EventArgs e) v C:\CS2009\Catalog\SimpleSearch.aspx.cs:76
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +115
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +140
System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler sourceControl, řetězec eventArgument) +29
System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2981
Navíc je v souboru protokolu chyb serveru SQL Server zaznamenána následující chybová zpráva:
Msg 2627, úroveň 14 stavu 1, řádek 1 porušení o JEDINEČNÝ KLÍČ omezení "UQ__CtlInv___ < text >. Nelze vložit duplicitní klíč v objektu "dbo. CtlInv___CategorySearch___SortedResults__for_spid__ < číslo > spid ". Příkaz byl ukončen.
Příčina
K tomuto problému dochází z důvodu chyby v ctlg_FillCategoryDescendants uložené procedury.
Řešení
Informace o opravě hotfix
Společnost Microsoft má k dispozici podporovanou opravu hotfix. Tato oprava hotfix je však určena pouze problému popsanému v tomto článku. Použití této opravy hotfix pouze u systémů, ve kterých dochází k tomuto konkrétnímu problému.
Pokud je oprava hotfix k dispozici ke stažení, je v horní části tohoto článku znalostní báze Knowledge Base oddíl "Oprava Hotfix je dostupná ke stažení" . Pokud tento oddíl není uveden, odešlete požadavek na Microsoft Zákaznický servis a podporu k získání opravy hotfix.
Poznámka: Pokud nastanou další problémy nebo bude nutné další řešení potíží, bude možná třeba vytvořit další samostatný požadavek na služby. Běžná cena za technickou podporu se vztahuje k dodatečným otázkám podpory a k problémům, které se netýkají této konkrétní opravy hotfix. Úplný seznam telefonních čísel služeb zákazníkům společnosti Microsoft a podpoře nebo vytvořit zvláštní požadavek na službu navštivte následující web společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=supportPoznámka: Ve formuláři „Oprava hotfix je dostupná ke stažení“ se zobrazují jazyky, pro které je oprava hotfix k dispozici. Pokud váš jazyk není zobrazen, to je protože oprava hotfix není k dispozici pro daný jazyk.
Předpoklady
Chcete-li nainstalovat tuto opravu hotfix, musíte mít nainstalovanou aktualizaci Microsoft Commerce Server 2007 Service Pack 2 (SP2).
Požadavek na restartování
Po instalaci této opravy hotfix nemusíte restartovat počítač. Však musíte restartovat Internetová informační služba (IIS) a katalog políčko Commerce Server odkazuje Import hostitele modelu COM + aplikace po použití této opravy hotfix.
Chcete-li restartovat službu IIS, na příkazovém řádku zadejte následující příkaz a stiskněte klávesu ENTER:
IISRESET /RESTART
Poznámka: Tento příkaz zastaví a restartuje všechny služby IIS, které jsou spuštěny v počítači.
Informace o nahrazení opravy hotfix
Tato oprava hotfix nenahrazuje žádné další opravy hotfix.
Postup instalace
Tento balíček oprav hotfix obsahuje následující soubory:
-
CommerceServer2007SP3-KB2498781-ENU.exe
-
KB2498781.sql
-
hotfix.txt
Chcete-li zabránit výskytu tohoto problému v nové databáze katalogu, spusťte CommerceServer2007SP3-KB2498781-ENU.exe soubor k aktualizaci souboru Catalogcreate.sql pro Commerce Server 2009.
Chcete-li tento problém vyřešit, spusťte soubor KB2498781.sql proti existující databáze katalogu.
Informace o souborech
Anglická verze této opravy hotfix má atributy (nebo pozdější atributy souborů) uvedené v následující tabulce. Kalendářní data a časy jednotlivých souborů jsou uvedeny v koordinovaném světovém čase (UTC). Při zobrazení informací o souboru je převeden na místní čas. Rozdíl mezi místním časem a časem UTC naleznete na kartě Časové pásmo v položce Datum a čas v okně Ovládací panely.
Commerce Server 2009
Název souboru |
Verze souboru |
Velikost souboru |
Datum |
Čas |
Platforma |
---|---|---|---|---|---|
Catalogcreate.sql |
Není k dispozici |
1,156,498 |
14-Dec-2012 |
08:37 |
Není k dispozici |
Cs2009hotfixhelper.exe |
6.0.4171.96 |
12,872 |
14-Dec-2012 |
09:14 |
x86 |
Stav
Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".
Odkazy
Další informace o operaci CommerceQuery naleznete na následujícím webu Microsoft Developer Network (MSDN):
Obecné informace o operaci CommerceQueryDalší informace o vlastnosti CategoriesClause naleznete na následujícím webu MSDN: