SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Fehler bei Microsoft.SharePoint.SPGroup.Update()

Unbeantwortet Dieser Beitrag hat 1 Antworten

Ohne Rang
20 Beiträge
Christian erstellt 20 Aug. 2009 10:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe per SQL Script 150 Gruppen in die WSS Datenbank eingetragen (mit RoleAssignment und Benutzern). Wenn ich jetzt mit folgendenen Befehlen einen weiteren Benutzer in eine der Gruppen einfüge erhalte ich folgende Meldung (Ich verwende Windows SharePoint Services 3.0):

Eintrag nicht vorhanden Die gewählte Seite verweist auf nicht vorhandene Inhalte. Möglicherweise wurden diese von einem anderen Benutzer gelöscht.

Stapelrahmen:

bei Microsoft.SharePoint.Library.SPRequest.UpdateGroup(String bstrUrl, Int32 lGroupID, String bstrName, String bstrDescription, Int32 lOwnerID, Boolean bOwnerIsUser, Int32 lCurrentGroupOwnerID, String bstrDLAlias, String bstrIncomingEmailServerDisplayAddress, String bstrDLErrorMessage, Int32 lDLFlags, Int32 lDLJobId, String guidDLArchives, String bstrRequestEmail, Int32 lFlags) bei Microsoft.SharePoint.SPGroup.Update()

Bei group.Update() tritt der genannte Fehler auf. Der Benutzer ist allerdings richtig in der Datenbank als Gruppenmitglied eingetragen.

 

  private bool BenutzerZurGruppe(int idNutzer, int idGruppe)
        {
            bool erfolgreich = false;
            string s = string.Empty;

            SPSecurity.RunWithElevatedPrivileges(delegate
            {
                using (SPSite site = new SPSite(SPContext.Current.Site.Url))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        try
                        {
                            web.AllowUnsafeUpdates = true;

                            //Die SharePoint Gruppe holen.
                            SPGroup group = web.SiteGroups.GetByID(idGruppe);
                            if (group != null)
                            {
                                s = s + "Gruppe gefunden ...<br />";

                                //Den SharePoint Benutzer holen.
                                SPUser user = web.SiteUsers.GetByID(idNutzer);
                                if (user != null)
                                {
                                    s = s + "Benutzer gefunden ...<br />";

                                    //Den SharePoint Benutzer zur SharePoint Gruppe hinzufügen.
                                    group.AddUser(user);
                                    s = s + "Benutzer eingefügt (AddUser()) ...<br />";

                                    group.Update();
                                    s = s + "Benutzer eingefügt (Update()) ...<br />";

                                    s = s + "Benutzer eingefügt ...<br />";

                                    erfolgreich = true;
                                }
                                else
                                {
                                    s = s + "Benutzer nicht gefunden ...<br />";
                                }
                            }
                            else
                            {
                                s = s + "Gruppe nicht gefunden ...<br />";
                            }
                        }
                        catch (Exception ErrorCat)
                        {
                            s = s + "Fehler: " + ErrorCat.Message + " ...<br />";
                            s = s + "Stapelrahmen: " + ErrorCat.StackTrace + " ...<br />";
                        }
                        finally
                        {
                            web.AllowUnsafeUpdates = false;
                            web.Close();
                            site.Close();
                        }
                    }
                }
            });

            literalBenutzerKopieren.Text = s;

            return erfolgreich;
        }

 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Aug. 2009 11:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Christian"]ich habe per SQL Script 150 Gruppen in die WSS Datenbank eingetragen [/quote]

Gaaaaaanz schlechte Idee. Vermutlich fehlt da eben doch irgendetwas... Solche Dinge macht man mit Powershell-Script und niemals direkt in die DB.

Viele Grüße
Andi
af @ evocom de
Blog