Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα με Business Data Catalog - Refresh Column

Îåêßíçóå áðü ôï ìÝëïò Loomy. Τελευταία δημοσίευση από το μέλος Loomy στις 25-02-2009, 12:04. Υπάρχουν 12 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  20-02-2009, 12:34 48554

    Πρόβλημα με Business Data Catalog - Refresh Column

    Χαιρετώ την κοινότητα,

    Εδώ και αρκετές ημέρες προσπαθώ να βρω λύση στο πρόβλημά μου αλλά δυχτυχώς δεν τα έχω καταφέρει.
    Για να μπούμε στο θέμα:

    Έχω μία λίστα στον Sharepoint Portal Server που  χρησιμοποιεί BDC. To BDC διαβάζει από έναν SQL Server. Πίσω από την List έχω φτιάξει custom event handlers για τα ItemAdding, ItemAdded, ItemUpdating και ItemUpdated που γίνονται διάφορα καλούδια.
    Μπορω να χρησιμοποιήσω το BDC και εγώ και όλοι οι άλλοι χρήστες (Να κάνουμε add/update ListItems).
    Όταν όμως πάει κάποιος να κάνει refresh το BDC από το refresh button που υπάρχει στη λίστα για να πάρει τα latest data που υπάρχουν στη βαση παίρνει μήνυμα "Access Denied". Ο user έχει Full Control στη λίστα.
    Το θέμα είναι ότι με το δικό μου account μπορώ να κάνω refresh χωρίς κανένα πρόβλημα.

    Έχει κανείς κάποια ιδέα ?
    Ευχαριστώ,
    Δημήτρης.




    Δημοσίευση στην κατηγορία: , , ,
  •  20-02-2009, 13:18 48555 σε απάντηση της 48554

    Απ: Πρόβλημα με Business Data Catalog - Refresh Column

    Υπάρχει ένα log file που καταγράφονται τέτοιου είδους λάθη συνήθως είναι στο

    C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS

    Εκεί σου λέει για ποιον λόγο βγάζει το μήνυμα , αν θέλεις το ανεβάζεις για να το δούμε και να πούμε την γνώμη μας.

    Την συμπεριφορά αυτή την έχει μόνο με έναν χρήστη ή το μήνυμα λάθους το βγάζει και σε άλλου και τέλος έχουν δικαιώματα να εκτελέσουν τις απαραίτητες εργασίες στην βάση?

     


    Don't try to argue with the machine
    Elias Markelis
    MCPD,MCT
  •  20-02-2009, 13:36 48556 σε απάντηση της 48554

    Απ: Πρόβλημα με Business Data Catalog - Refresh Column

    Κατά πάσα πιθανότητα το πρόβλημα οφείλεται στα security settings του BDC ή στις ρυθμίσεις του BDC application (του XML με άλλα λόγια). 

    Το πρώτο σημείο στο οποίο παρεμβαίνουν permissions είναι στη σύνδεση με το σύστημα στην άλλη πλευρά. Μπορείς να ορίσεις ότι το BDC θα συνδεθεί με τη βάση ή το web service χρησιμοποιώντας:

    • Τα credentials του τελικού χρήστη (Pass-through)
    • Τα credential του application pool (RevertToSelf)
    • Credentials που θα βρει στο Single Sign On service (WindowsCredentials)
    • Credentials ενός συγκεκριμένου χρήστη της βάσης (RdbCredentials)
    • Καρφωτά credentials για ένα web service (Credentials)

    Αν έχεις επιλέξει την πρώτη ρύθμιση, θα πρέπει κάθε χρήστης του site σου να έχει και δικαίωμα σύνδεσης στη βάση. Συνήθως κάτι τέτοιο δεν είναι απαραίτητο και μπορείς να χρησιμοποιήσεις το RevertToSelf και να δώσεις δικαίωμα σύνδεσης στο account του application pool. Το Pass-through θα χρειαστεί μόνο αν θέλεις οι χρήστες να βλέπουν μόνο τα δεδομένα για τα οποία έχουν δικαίωμα στη βάση.

    Άλλο σημείο στο οποίο παρεμβαίνουν permissions είναι τα BDC applications. Μπορείς να ορίσεις ξεχωριστά permissions για κάθε application τα οποία περιορίζουν ποιός έχει δικαίωμα να διαβάσει, εκτελέσει ή τροποποιήσει ένα BDC application. Για να μπορέσει ένας τελικός χρήστης να διαβάσει δεδομένα από ένα web application θα πρέπει να έχει δωθεί είτε σε αυτόν είτε σε ένα από τα Windows Groups στα οποία ανήκει το δικαίωμα Selectable in Client. Το Troubleshooting: Access Deniend in BDC  περιγράφει ακριβώς αυτή την περίπτωση.
    Τα δικαιώματα του BDC μπορείς να τα ορίσεις σε διάφορα επίπεδα. Μπορείς να τα ορίσεις γενικά για όλο το BDC, για ένα συγκεκριμένο application ή για μεμονωμένα entities μέσα σε ένα application. Αυτό σημαίνει επίσης ότι κάθε φορά που κάνεις αλλαγές σε ένα επίπεδο θα πρέπει να προσέχεις μήπως κόψεις κατά λάθος την πρόσβαση σε άλλο επίπεδο.

    Το περίεργο εδώ είναι ότι δεν μπορείς να δώσεις permissions σε Sharepoint groups. Τα settings του BDC ορίζονται σε επίπεδο Shared Service Provider, όπου δεν υπάρχουν Sharepoint groups. Θα πρέπει να φτιάξεις ένα Windows Group στο οποίο θα βάλεις όλους τους χρήστες οι οποίοι έχουν δικαίωμα να μιλήσουν στο BDC και να δώσεις το selectable in client στο group αυτό.

    Συνεπώς, για να αντιμετωπίσεις το πρόβλημα θα πρέπει να κοιτάξεις τον τρόπο σύνδεσης του BDC application και τα permissions που έχουν δωθεί στο application. Για να σε βοηθήσουμε περισσότερο θα πρέπει να μας δώσεις αυτά τα στοιχεία.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  20-02-2009, 13:36 48557 σε απάντηση της 48555

    Re: Απ: Πρόβλημα με Business Data Catalog - Refresh Column

    Δυστυχώς στο Event Log δεν έχει γραφτεί κάτι δεδομένου ότι το service για tracing δείχνει ότι ειναι down και δεν μπορεί να το σηκώσει. (κάνει Fail)
    Επειδή είναι και Live το περιβάλλον δεν μπορώ να κάνω κ restart στο server άμεσα. Θα το δοκιμάσω όμως και θα κάνω upload τα entries, αν υπάρχουν.

    Τη συμπεριφορά αυτή την έχει και με όλους τους χρήστες εκτός από portal-owners (νομίζω..)

    Επίσης το περίεργο της υπόθεσης είναι ότι οποιοσδήποτε χρήστης πάει να χρησιμοποιήσει το BDC αυτό παίζει χωρίς να έχει κανένα πρόβλημα. Δηλαδή δεν του πετάει Access Denied ή κάποιο άλλο μήνυμα. Κάνει Search στη βάση και του φέρνει το Entry που θέλει.

    Το πρόβλημα είναι όταν πάει να κάνει μαζικό update. (Καλεί μια σελίδα από πίσω BusinessDataSynchronizer.aspx που αναλαμβάνει το μαζικό update). Αυτή είναι κ η σελίδα που βγάζει το Access Denied.

  •  20-02-2009, 14:08 48559 σε απάντηση της 48557

    Απ: Re: Απ: Πρόβλημα με Business Data Catalog - Refresh Column

    Ποιά είναι τα permissions του BDC και τα settings του application? Χωρίς αυτά δεν μπορεί να σε βοηθήσει κανείς. Κατά πάσα πιθανότητα εκεί είναι το πρόβλημα και το log του Sharepoint απλά θα το επιβεβαιώσει. Οι administrators είναι λογικό να μην αντιμετωπίζουν πρόβλημα καθώς υποθέτω ότι είναι domain admins ή κάτι τέτοιο και έχουν πρόσβαση και στη βάση.

    Το ότι το access denied εμφανίζεται μόνο στο refresh μπορεί να οφείλεται και στο γεγονός ότι το Sharepoint δεν καλεί συνέχεια το BDC για να τραβήξει δεδομένα. Αν κάποιος administrator δημιουργήσει μερικά list items με BDC fields το Sharepoint θα αποθηκεύσει την τιμή των BDC fields μέσα στη λίστα. Έτσι οι τελικοί χρήστες θα βλέπουν μεν τα δεδομένα, δεν θα μπορούν όμως να κάνουν refresh.

    Αυτά βέβαια αν δεν συμβαίνει κάτι κουφό. Αν το Windows Sharepoint Services Tracing δεν δουλεύει, έχεις ΜΕΓΑΛΟ ΠΡΟΒΛΗΜΑ, ειδικά επειδή πρόκειται για live σύστημα. Μάλλον θα πρέπει να κάνεις ένα γενικό health check στη φάρμα για να δεις τί συμβαίνει. Ίσως και άλλα πράγματα να μην δουλεύουν και γι αυτό να έχεις προβλήματα. Δεν είναι πολύ πιθανό, αλλά δεν αποκλείεται κιόλας. Μπορείς να χρησιμοποιήσεις το Sharepoint Best Practice Analyzer για να δεις αν κάτι έχει στηθεί στραβά και το SPDiag για να δεις τί μπορεί να πηγαίνει λάθος στη λειτουργία της φάρμας.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  20-02-2009, 14:19 48560 σε απάντηση της 48557

    Re: Απ: Πρόβλημα με Business Data Catalog - Refresh Column

    Ο τρόπος σύνδεσης του BDC με το LOB είναι μέσα απο SSO.
    Ακόμα δοκίμασα να κάνω το ίδιο BDC χρησιμοποιώντας απλά με RevertToSelf (για να σιγουρευτώ οτι δεν είναι θέμα του SSO). Ενώ παίζει κ αυτό κανονικά με όλους τους Users (κάνει connect στη βάση, φέρνει results), όταν πάει κάποιος να κάνει μαζικά Update (refresh) παίρνει το γενικό μήνυμα

    Current User
    You are currently signed in as:  NTSRVDOMAIN\testUser
     
    Sign in as a different user
    Request access


    σαν να κάνει request π.χ σε μία λίστα που δεν έχει Access (δεν παίρνει "Access Denied by BDC").


    Στα Settings του Application, του BDC και των Entities που χρησιμοποιεί μέσα στον SSP έχω δοκιμάσει να δώσω για τεστ όλα τα δικαιώματα (Edit, Execute, Select In Clients, Set Permissions) στους NT Authority\Authenticated Users. (Παρόλο που δεν τα χρειάζεται). Ακόμα κ σε αυτή την περίπτωση δεν μπορούν οι άλλοι Users να κάνουν το refresh.

    Δοκιμάζοντας επίσης να το κάνω σε άλλη λίστα, δοκιμάζω μέ ένα account να βάλω 2-3 ListeItems και να κάνω refresh. Επίσης κ εκεί τρώω πόρτα.
    Παναγιώτη, αν το πρόβλημα ήταν στα Security Settings του Appication Definition File του BDC ή γενικά στα Security Settings του BDC τότε θα μπορούσαν να το χρησιμοποιήσουν απλά οι Users? (Να κάνουν Insert ένα ListItem χρησιμοποιώντας το BDC).

    Thank U για τα 2 Diagnostic tools. Θα τα τρέξω να δω τι γίνεται.




  •  20-02-2009, 14:31 48561 σε απάντηση της 48559

    Απ: Re: Απ: Πρόβλημα με Business Data Catalog - Refresh Column

    Αν το Windows Sharepoint Services Tracing δεν τρέχει τότε θεωρώ ότι θα υπάρχουν και άλλα προβλήματα θα συμφωνήσω με τον Παναγιώτη ότι πρέπει να κάνεις ένα γενικό health check και εφόσον διορθωθούν τα προβλήματα θα μπορέσεις να δεις τι πραγματικά φταίει.


    Don't try to argue with the machine
    Elias Markelis
    MCPD,MCT
  •  20-02-2009, 18:06 48568 σε απάντηση της 48560

    Απ: Re: Απ: Πρόβλημα με Business Data Catalog - Refresh Column

    Αυτό που περιγράφεις δεν φαίνεται να έχει σχέση με BDC αλλά με τα permissions των χρηστών. Access Denied παίρνεις όχι μόνο όταν δεν έχεις πρόσβαση σε λίστα, αλλά και όταν δεν έχεις πρόσβαση σε application pages, όπως το BusinessDataSynchronizer.aspx . Μήπως έχει πειράξει κανείς τα permissions των απλών members? Μήπως έχει κοπεί κανένα δικαίωμα?

    Εδώ πραγματικά χρειάζεσαι το log για να βγάλεις άκρη!

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  20-02-2009, 20:07 48569 σε απάντηση της 48568

    Απ: Re: Απ: Πρόβλημα με Business Data Catalog - Refresh Column

    Μήπως βγάλατε το "View Application Pages" από τo Contribute Permission level για να μην βλέπουν τα απλά μέλη τα settings? Αν το κάνατε αυτό, φάγατε και το BusinessDataSynchronizer.aspx.

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  23-02-2009, 15:42 48649 σε απάντηση της 48569

    Re: Απ: Re: Απ: Πρόβλημα με Business Data Catalog - Refresh Column

    Κοιτώντας ξανά τα Permission Levels αυτό που βλέπω είναι μέσα στο Contribute υπάρχει το δικαίωμα του "View Application Pages".
    Επίσης το περίεργο είναι ότι έβαλα κ τον user που πειραματίζομαι να έχει και Full Permissions στο συγκεκριμένο site. (από Contribute που είχε σε προηγούμενα πειράματα)
    Παρόλα αυτά δε μου έχει δουλέψει ακόμα..


    Να και το Event Log:

    02/24/2009 10:43:01.02     w3wp.exe (0x1760)                           0x0CDC    SharePoint Portal Server          Business Data                     79bv    High        Initiating BDC Cache Invalidation Check in AppDomain '/LM/W3SVC/254389924/Root-1-128799045605016939'      
    02/24/2009 10:43:01.02     w3wp.exe (0x1760)                           0x0CDC    SharePoint Portal Server          Business Data                     79bx    High        Completed BDC Cache Invalidation Check in AppDomain '/LM/W3SVC/254389924/Root-1-128799045605016939'     
    02/24/2009 10:43:03.25     w3wp.exe (0x1760)                           0x00E0                                      1594                              7pmc    High        LongRunningOperation was unable to parse status bucket string for Job 9210e5aa-831b-41c6-8cb8-5199a3465166 because the string was empty.     
    02/24/2009 10:43:03.27     w3wp.exe (0x1760)                           0x00E0    Windows SharePoint Services       General                           8e2s    Medium      Unknown SPRequest error occurred. More information: 0x80070005     
    02/24/2009 10:43:03.29     w3wp.exe (0x1760)                           0x00E0                                      1594                              7pmk    High        LongRunningOperationJob-ForegroundThread: An unhandled exception was caught in the Start method: System.InvalidOperationException: LongRunningOperation::SetStatusBucketString - Exception thrown while the property bag was updating the database with changes. ---> System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))     at Microsoft.SharePoint.Utilities.SPUtility.HandleAccessDenied(Exception ex)     at Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex)     at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Bo...     
    02/24/2009 10:43:03.29*    w3wp.exe (0x1760)                           0x00E0                                      1594                              7pmk    High        ...olean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish)     at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration, Boolean bPublish, Boolean bCheckOut, Boolean bCheckin, Guid newGuidOnAdd, Int32& ulID, Object& objAttachmentNames, Object& objAttachmentContents, Boolean suppressAfterEvents)     at Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents)     at Microsoft.SharePoi...     
    02/24/2009 10:43:03.29*    w3wp.exe (0x1760)                           0x00E0                                      1594                              7pmk    High        ...nt.SPListItem.Update()     at Microsoft.SharePoint.Portal.Infrastructure.LongRunningOperationStatusBucket.SetStatusBucketString(SPSite site, PortalContext ctx, Guid guidJobId, String strStatusBucket, PortalRight rightRequired)     --- End of inner exception stack trace ---     at Microsoft.SharePoint.Portal.Infrastructure.LongRunningOperationStatusBucket.SetStatusBucketString(SPSite site, PortalContext ctx, Guid guidJobId, String strStatusBucket, PortalRight rightRequired)     at Microsoft.SharePoint.Portal.Infrastructure.LongRunningOperationStatusBucket.Update(SPSite site, PortalContext ctx)     at Microsoft.SharePoint.Portal.Infrastructure.LongRunningOperationJob.UpdateStatus(LongRunningOperationStatus stStatus, SPSite site, PortalContext ctx)     at Microsoft.SharePoint.Portal.Infrastru...     
    02/24/2009 10:43:03.29*    w3wp.exe (0x1760)                           0x00E0                                      1594                              7pmk    High        ...cture.LongRunningOperationJob.Start(SPSite site)     
    02/24/2009 10:43:03.29     w3wp.exe (0x1760)                           0x00E0                                      1594                              7pml    Exception     System.InvalidOperationException: LongRunningOperation::SetStatusBucketString - Exception thrown while the property bag was updating the database with changes. ---> System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))     at Microsoft.SharePoint.Utilities.SPUtility.HandleAccessDenied(Exception ex)     at Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex)     at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentConte...     
    02/24/2009 10:43:03.29*    w3wp.exe (0x1760)                           0x00E0                                      1594                              7pml    Exception    ...nts, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish)     at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boo     





  •  24-02-2009, 11:02 48669 σε απάντηση της 48649

    Re: Απ: Re: Απ: Πρόβλημα με Business Data Catalog - Refresh Column

    Μόλις κατάφερα να πάρω τα Logs:

    02/24/2009 10:43:01.02     w3wp.exe (0x1760)                           0x0CDC    SharePoint Portal Server          Business Data                     79bv    High        Initiating BDC Cache Invalidation Check in AppDomain '/LM/W3SVC/254389924/Root-1-128799045605016939'      
    02/24/2009 10:43:01.02     w3wp.exe (0x1760)                           0x0CDC    SharePoint Portal Server          Business Data                     79bx    High        Completed BDC Cache Invalidation Check in AppDomain '/LM/W3SVC/254389924/Root-1-128799045605016939'     
    02/24/2009 10:43:03.25     w3wp.exe (0x1760)                           0x00E0                                      1594                              7pmc    High        LongRunningOperation was unable to parse status bucket string for Job 9210e5aa-831b-41c6-8cb8-5199a3465166 because the string was empty.     
    02/24/2009 10:43:03.27     w3wp.exe (0x1760)                           0x00E0    Windows SharePoint Services       General                           8e2s    Medium      Unknown SPRequest error occurred. More information: 0x80070005     
    02/24/2009 10:43:03.29     w3wp.exe (0x1760)                           0x00E0                                      1594                              7pmk    High        LongRunningOperationJob-ForegroundThread: An unhandled exception was caught in the Start method: System.InvalidOperationException: LongRunningOperation::SetStatusBucketString - Exception thrown while the property bag was updating the database with changes. ---> System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))     at Microsoft.SharePoint.Utilities.SPUtility.HandleAccessDenied(Exception ex)     at Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex)     at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Bo...     
    02/24/2009 10:43:03.29*    w3wp.exe (0x1760)                           0x00E0                                      1594                              7pmk    High        ...olean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish)     at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration, Boolean bPublish, Boolean bCheckOut, Boolean bCheckin, Guid newGuidOnAdd, Int32& ulID, Object& objAttachmentNames, Object& objAttachmentContents, Boolean suppressAfterEvents)     at Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents)     at Microsoft.SharePoi...     
    02/24/2009 10:43:03.29*    w3wp.exe (0x1760)                           0x00E0                                      1594                              7pmk    High        ...nt.SPListItem.Update()     at Microsoft.SharePoint.Portal.Infrastructure.LongRunningOperationStatusBucket.SetStatusBucketString(SPSite site, PortalContext ctx, Guid guidJobId, String strStatusBucket, PortalRight rightRequired)     --- End of inner exception stack trace ---     at Microsoft.SharePoint.Portal.Infrastructure.LongRunningOperationStatusBucket.SetStatusBucketString(SPSite site, PortalContext ctx, Guid guidJobId, String strStatusBucket, PortalRight rightRequired)     at Microsoft.SharePoint.Portal.Infrastructure.LongRunningOperationStatusBucket.Update(SPSite site, PortalContext ctx)     at Microsoft.SharePoint.Portal.Infrastructure.LongRunningOperationJob.UpdateStatus(LongRunningOperationStatus stStatus, SPSite site, PortalContext ctx)     at Microsoft.SharePoint.Portal.Infrastru...     
    02/24/2009 10:43:03.29*    w3wp.exe (0x1760)                           0x00E0                                      1594                              7pmk    High        ...cture.LongRunningOperationJob.Start(SPSite site)     
    02/24/2009 10:43:03.29     w3wp.exe (0x1760)                           0x00E0                                      1594                              7pml    Exception     System.InvalidOperationException: LongRunningOperation::SetStatusBucketString - Exception thrown while the property bag was updating the database with changes. ---> System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))     at Microsoft.SharePoint.Utilities.SPUtility.HandleAccessDenied(Exception ex)     at Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex)     at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentConte...     
    02/24/2009 10:43:03.29*    w3wp.exe (0x1760)                           0x00E0                                      1594                              7pml    Exception    ...nts, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish)     at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boo     

  •  24-02-2009, 20:05 48701 σε απάντηση της 48669

    Απ: Re: Απ: Re: Απ: Πρόβλημα με Business Data Catalog - Refresh Column

    Το Access Denied φαίνεται να προκαλείται στην Microsoft.SharePoint.SPListItem.AddOrUpdateItem, όταν δηλαδή το Sharepoint προσπαθεί να γράψει τις ανανεωμένες τιμές από το BDC στα αντικείμενα της λίστας. Αυτό γίνεται χρησιμοποιώντας τα permissions του εκάστοτε χρήστη, οπότε είναι πιθανό να μην έχει δικαίωμα ο χρήστης να πειράξει τα αντικείμενα. Κάνοντας κάποιες δοκιμές είδα κι εγώ το ίδιο error όταν έκανα login με χρήστη που είχε μόνο δικαίωμα View στη λίστα και πατούσα το Refresh.

    Το περίεργο είναι ότι όπως λες ο χρήστης έχει το δικαίωμα Contribute. Αν δεν έχει πειραχτεί το Contribute, θα πρέπει λογικά να έχει δικαίωμα να ανανεώσει τις εγγραφές. Για να παίρνεις Access Denied σημαίνει ότι τελικά δεν έχει contribute σε όλες. Αυτό μπορεί να συμβαίνει σε δύο περιπτώσεις:

    • Είτε έχουν αλλαχτεί τα permissions με το χέρι ή με κάποιο workflow. Αυτό μπορείς να το καταλάβεις εύκολα κοιτώντας τα permissions των List Items.
    • Έχουν αλλαχτεί τα Item-level permissions της λίστας μέσω του List Settings> Advanced Settings έτσι ώστε ένας χρήστης να μπορεί να τροποποιεί μόνο τα items που δημιούργησε. Αυτός ο περιορισμός υπερισχύει των άλλων permissions και είναι πολύ ύπουλο πράγμα, καθώς δεν φαίνεται πουθενά αλλού και σε μπερδεύει σχεδόν πάντα.

    Μήπως ισχύει κάτι από τα δύο?


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  25-02-2009, 12:04 48720 σε απάντηση της 48701

    Re: Απ: Re: Απ: Re: Απ: Πρόβλημα με Business Data Catalog - Refresh Column

    Στη λίστα που χρησιμοποιώ για test δεν έχω associated workflows (στην κανονική έχω).
    Επίσης δεν έχω ListItems και κάθε φορά προσθέτω από ένα  με το account που θέλω να πειραματιστώ. (Άρα δεν τείθεται θέμα για το αν υπάρχουν άλλα που δεν έχει access)
    Κοίταξα στη λίστα στα advanced settings > Item-Level Permissions και έχω στο "All Items" στο "Edit access:   Specify which items users can edit ".
    Άρα λοιπόν συνοπτικά έχω:

        * Contribute Access στη λίστα
        * Contribute Access στο Site που ανήκει η λίστα
        * All Items στο ItemLevelPermissions της λίστας
        * Contribute Access στο ListItem που πάει το BDC να κάνει update (το έλεγξα)


    Κάτι σημαντικό:
    Το Site που υπάρχει η λίστα είναι SubSite του Home site στο ίδιο Site Collection. Όταν δώσω Contribute δικαιώματα explicitly στο parent site (Home) στον user που χρησιμοποιώ τότε παίζει μια χαρά και μπορεί να κάνει BDC Update. Αυτό όμως είναι κάτι που δεν το θέλω. Όταν αφαιρέσω το Contribute Permission από το Home Site (parent) τότε δεν μπορεί να κάνει BDC-Update ακόμα και στην περίπτωση που έχει Contribute permission στο site που ανήκει η λίστα (στο Site που ανήκει η λίστα έχω σπάσει το Inheritance των permissions).
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems