Συμπτώματα
Εξετάστε το ακόλουθο σενάριο:
-
Έχετε έναν υπολογιστή που εκτελεί Microsoft Commerce Server 2009.
-
Μπορείτε να ρυθμίσετε την παράμετρο SearchCriteria.CategoriesClause , έτσι ώστε μια λειτουργία CommerceQuery εκτελεί αναζήτηση προϊόντων σε πολλές κατηγορίες. Για παράδειγμα, μπορείτε να ρυθμίσετε την παράμετρο SearchCriteria.CategoriesClause , χρησιμοποιώντας την ακόλουθη σύνταξη:query.SearchCriteria.CategoriesClause = "[IsSearchable] = 1";
-
Ξεκινήσετε τη λειτουργία CommerceQuery που επιστρέφει πολλά προϊόντα του Commerce Server από πολλές κατηγορίες σε μια τοποθεσία του Commerce Server.
Σε αυτό το σενάριο, λαμβάνετε ένα μήνυμα λάθους παρόμοιο με το ακόλουθο στην τοποθεσία του Commerce Server:
Λεπτομέρειες εξαίρεσης: System.ServiceModel.FaultException'1[[Microsoft.Commerce.Contracts.Faults.GeneralOperationFault, Microsoft.Commerce.Contracts, έκδοση = 1.0.0.0, κουλτούρα = ουδέτερη, PublicKeyToken = 31bf3856ad364e35]]: Η λειτουργία υπηρεσία αντιμετώπισε ένα σφάλμα κατά την επεξεργασία της αίτησης. Έχουν καταγραφεί οι λεπτομέρειες σφάλματος από την υπηρεσία.
Προέλευση σφάλματος:
Γραμμή 49: ParameterChecker.CheckForNull (λειτουργία, "λειτουργία")
Γραμμή 50:
Γραμμή 51: επιστροφή CommerceFoundationServiceAgent.operationServiveAgent.ProcessRequest)
Γραμμή 52: GetCurrentRequestContext() λειτουργία. ToRequest())-
Γραμμή 53:}
Αρχείου προέλευσης: Γραμμή C:\CS2009\Catalog\Components\CommerceFoundationServiceAgent.cs: 51
Ιχνηλάτηση στοίβας:
[FaultException'1: Η λειτουργία υπηρεσία αντιμετώπισε ένα σφάλμα κατά την επεξεργασία της αίτησης. Οι λεπτομέρειες σφάλματος έχουν καταγραφεί από την υπηρεσία.]
Microsoft.Commerce.Broker.OperationService.ProcessRequest(CommerceRequest request) +697
Microsoft.Commerce.Common.OperationServiceAgent.ProcessRequest (CommerceRequestContext requestContext, CommerceRequest αίτηση) +154
Microsoft.Samples.Commerce.Catalog.CommerceFoundationServiceAgent.Execute (CommerceBaseBuilder λειτουργία) στο C:\CS2009\Catalog\Components\CommerceFoundationServiceAgent.cs:51
Microsoft.Samples.Commerce.Catalog.SimpleSearch.BtnSearch_Click (αντικείμενο αποστολέα, ε EventArgs) στο 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, eventArgument συμβολοσειρά) +29
System.Web.UI.Page.ProcessRequestMain (δυαδική includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2981
Επιπλέον, καταγράφεται το ακόλουθο μήνυμα λάθους στο αρχείο καταγραφής σφαλμάτων του SQL Server:
Msg 2627, επίπεδο 14, κατάσταση 1, γραμμή 1 παραβίαση του ΜΟΝΑΔΙΚΌ ΚΛΕΙΔΊ περιορισμού 'UQ__CtlInv___ < κείμενο >'. Δεν είναι δυνατή η εισαγωγή διπλού κλειδιού στο αντικείμενο ' dbo. CtlInv___CategorySearch___SortedResults__for_spid__ < spid >'. Η πρόταση έχει τερματιστεί.
Αιτία
Αυτό το ζήτημα παρουσιάζεται εξαιτίας ενός σφάλματος στη διαδικασία ctlg_FillCategoryDescendants αποθηκεύονται.
Προτεινόμενη αντιμετώπιση
Πληροφορίες άμεσης επιδιόρθωσης
Μια υποστηριζόμενη άμεση επιδιόρθωση είναι διαθέσιμη από τη Microsoft. Ωστόσο, αυτή η άμεση επιδιόρθωση προορίζεται για τη διόρθωση μόνο του προβλήματος που περιγράφεται σε αυτό το άρθρο. Εφαρμόστε αυτήν την άμεση επιδιόρθωση μόνο σε συστήματα που αντιμετωπίζουν το συγκεκριμένο πρόβλημα.
Εάν η άμεση επιδιόρθωση είναι διαθέσιμη για λήψη, τότε υπάρχει μια ενότητα με τίτλο "Διαθέσιμη λήψη άμεσης επιδιόρθωσης" στην αρχή αυτού του άρθρου της Γνωσιακής βάσης. Εάν αυτή η ενότητα δεν εμφανίζεται, υποβάλετε μια αίτηση στο τμήμα Εξυπηρέτησης και υποστήριξης πελατών της Microsoft για να αποκτήσετε την άμεση επιδιόρθωση.
Σημείωση Εάν προκύψουν πρόσθετα ζητήματα ή απαιτείται αντιμετώπιση προβλημάτων, ίσως χρειαστεί να δημιουργήσετε ξεχωριστή αίτηση εξυπηρέτησης. Για πρόσθετες ερωτήσεις υποστήριξης και θέματα που δεν αφορούν τη συγκεκριμένη άμεση επιδιόρθωση, ισχύουν οι συνηθισμένες χρεώσεις υποστήριξης. Για μια πλήρη λίστα αριθμών τηλεφώνου υπηρεσία εξυπηρέτησης πελατών της Microsoft και υποστήριξη ή για να δημιουργήσετε μια ξεχωριστή αίτηση εξυπηρέτησης, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
http://support.microsoft.com/contactus/?ws=supportΣημείωση Η φόρμα "Διαθέσιμη λήψη άμεσης επιδιόρθωσης" εμφανίζει τις γλώσσες για τις οποίες είναι διαθέσιμη η άμεση επιδιόρθωση. Εάν η γλώσσα σας δεν εμφανίζεται, τότε η άμεση επιδιόρθωση δεν είναι διαθέσιμη για αυτήν τη γλώσσα.
Προϋποθέσεις
Για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση, πρέπει να έχετε Microsoft Commerce Server 2007 Service Pack 2 (SP2) εγκατεστημένο.
Απαίτηση επανεκκίνησης
Δεν χρειάζεται να κάνετε επανεκκίνηση του υπολογιστή μετά την εφαρμογή αυτής της άμεσης επιδιόρθωσης. Ωστόσο, πρέπει να επανεκκινήσετε Internet Information Services (IIS) και το ηλεκτρονικό εμπόριο διακομιστή καταλόγου εισαγωγής κεντρικού υπολογιστή εφαρμογής COM + μετά την εφαρμογή αυτής της επείγουσας επιδιόρθωσης.
Για να επανεκκινήσετε τις υπηρεσίες IIS, πληκτρολογήστε την ακόλουθη εντολή σε μια γραμμή εντολών και, στη συνέχεια, πιέστε το πλήκτρο ENTER:
IISRESET /RESTART
Σημείωση Αυτή η εντολή διακόπτει και στη συνέχεια κάνει επανεκκίνηση όλων των υπηρεσιών IIS που εκτελούνται σε έναν υπολογιστή.
Πληροφορίες αντικατάστασης άμεσης επιδιόρθωσης
Αυτή η επείγουσα επιδιόρθωση δεν αντικαθιστά άλλες επείγουσες επιδιορθώσεις.
Βήματα εγκατάστασης
Αυτό το πακέτο επειγουσών επιδιορθώσεων περιέχει τα ακόλουθα αρχεία:
-
CommerceServer2007SP3-KB2498781-ENU.exe
-
KB2498781.sql
-
hotfix.txt
Για να αποτρέψετε την εμφάνιση αυτού του ζητήματος σε νέες βάσεις δεδομένων καταλόγου, εκτελέστε το αρχείο CommerceServer2007SP3-KB2498781-ENU.exe για να ενημερώσετε το αρχείο Catalogcreate.sql για το Commerce Server 2009.
Για να επιλύσετε αυτό το ζήτημα, εκτελέστε το αρχείο KB2498781.sql έναντι των υπαρχουσών βάσεων δεδομένων καταλόγου.
Πληροφορίες αρχείων
Η αγγλική έκδοση αυτής της άμεσης επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για τα αρχεία αυτά αναφέρονται σε Συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, μετατρέπεται σε τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε την καρτέλα Zώνη ώρας στο στοιχείο Hμερομηνία και ώρα " στον πίνακα ελέγχου.
Το πρόγραμμα Commerce Server 2009
Όνομα αρχείου |
Έκδοση αρχείου |
Μέγεθος αρχείου |
Ημ/νία |
Ώρα |
Πλατφόρμα |
---|---|---|---|---|---|
Catalogcreate.sql |
Δεν ισχύει |
1,156,498 |
14-Dec-2012 |
08:37 |
Δεν ισχύει |
Cs2009hotfixhelper.exe |
6.0.4171.96 |
12,872 |
14-Dec-2012 |
09:14 |
x86 |
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".
Αναφορές
Για περισσότερες πληροφορίες σχετικά με τη λειτουργία CommerceQuery , επισκεφθείτε την ακόλουθη τοποθεσία του Microsoft Developer Network (MSDN) στο Web:
Γενικές πληροφορίες σχετικά με τη λειτουργία CommerceQueryΓια περισσότερες πληροφορίες σχετικά με την ιδιότητα CategoriesClause , επισκεφθείτε την ακόλουθη τοποθεσία MSDN ΣΤΟ Web:
Γενικές πληροφορίες σχετικά με την ιδιότητα CategoriesClause