OPRAVA: Chyba při hledání více produktů v Commerce Server 2009, pokud je vlastnost SearchCriteria.CategoriesClause nastavena pro více kategorií hledání

Platí pro: Commerce Server 2009 EnterpriseCommerce Server 2009 Standard

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:Pozná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 souboruVerze souboruVelikost souboruDatumČasPlatforma
Catalogcreate.sqlNení k dispozici1,156,49814-Dec-201208:37Není k dispozici
Cs2009hotfixhelper.exe6.0.4171.9612,87214-Dec-201209:14x86


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):Další informace o vlastnosti CategoriesClause naleznete na následujícím webu MSDN: