none
Conexion con BD(MOSS) RRS feed

  • Pregunta

  •  

    Hola chic@s, yo de nuevo, necesito generar unos reportes, pero la info va de acuierdo al usuario que se loguee, para ventas, cada vendedor debe ver solo sus propias ventas, pero aca en :

    Administración central > Configurar integración de Reporting Services

    Conceder acceso a la base de datos

     

     dice q:

    No se puede agregar ni quitar un miembro del grupo local porque el miembro no existe

     

     alguien me puede dar una sugerencia?? gracias

    martes, 27 de enero de 2009 22:50

Respuestas

  •  

    ya lo solucionamos!! en realidad si tenia network service, esa era la cagada!!

    Por otro lado, tu sabes si puedo, en documentos x ejemplo, que los usuarios tengan acceso a todos los documentos que hayan, pero solo puedan eliminar los que le pertenezcan, los que el mismo ha subido, me expliqué?

    • Marcado como respuesta Uriel Almendra viernes, 5 de abril de 2013 15:39
    miércoles, 28 de enero de 2009 17:40

Todas las respuestas

  • Hola, cuando has instalado el reporting has seleccionado la opción " Create the report server database in SharePoint integrated mode"??.

    En este post hablan de como configurar SRSS con Sharepoint "Integración de Reporting Services con SharePoint"
    miércoles, 28 de enero de 2009 16:02
  • sip, ya eso está configurado Sad

    miércoles, 28 de enero de 2009 16:05
  •  

    lo que falla es:

    Grant database Access: Configurar el nombre del servidor donde se encuentra la base de datos de Reporting services y las credenciales necesarias para poder acceder a ella.

    miércoles, 28 de enero de 2009 16:07
  • el usuario que estás indicando es miembro del grupo de administradores de la máquina donde esté el reporting services??, http://technet.microsoft.com/en-us/library/bb326213.aspx

    Qué SqlServer y parches tienes instalados?

    Aunque hay otros que parece que les da el msmo erro aunque el usuario es administrador de la máquina del reporting, http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/95296bf7-f2ca-412d-9a79-635b4c92172e/#page:1

    miércoles, 28 de enero de 2009 16:24
  • el usuario es el administrador y usamos enterprise con el sp2

    Sad
    miércoles, 28 de enero de 2009 16:29
  • Otra pregunta, ¿El reporting services está instalado en una máquina distinta a la de sharepoint?

     

    miércoles, 28 de enero de 2009 16:41
  •  

    en el mismo server
    miércoles, 28 de enero de 2009 16:49
  • otra pregunta más ¿el usuario del pool de aplicaciones del reporting services tiene la identidad NETWORK SERVICE?
    miércoles, 28 de enero de 2009 17:14
  •  

    ya lo solucionamos!! en realidad si tenia network service, esa era la cagada!!

    Por otro lado, tu sabes si puedo, en documentos x ejemplo, que los usuarios tengan acceso a todos los documentos que hayan, pero solo puedan eliminar los que le pertenezcan, los que el mismo ha subido, me expliqué?

    • Marcado como respuesta Uriel Almendra viernes, 5 de abril de 2013 15:39
    miércoles, 28 de enero de 2009 17:40
  • Buena pregunta, porque si le das permisos de colaborador en la lista podrá eliminar los ficheros.
    Se me ocurre agregar un eventHandler a la lista de manera que cuando agregues un elemento a la lista automáticamente cambie los permisos del elemento para que los demas solo puedan leerlo y tú tengas control total. Con esto consigues que todos sean colaboradores de la lista pero estableces los permisos de edición a nivel de elemento.

    Tienes que capturar el evento ItemAdded, entonces lo que haces es romper la herencia de permisos en caso que la tenga, y modificar los permisos para cada miembro de seguridad. Por último añades un nuevo permiso al usuario propietario del documento para que tenga acceso total al elemento añadido.

    Para añadir el event handler a una biblioteca o lista puedes utilizar "Event handler explorer".


    Te adjunto el código de "
    OwnerEventItemEventReceiver" :

    public class OwnerEventItemEventReceiver : SPItemEventReceiver
        {
            /// <summary>
            /// Asynchronous after event that occurs after a new item has been added to its containing object.
            /// </summary>
            /// <param name="properties">
            /// A Microsoft.SharePoint.SPItemEventProperties object that represents properties of the event handler.
            /// </param>
            public override void ItemAdded(SPItemEventProperties properties)
            {
                try
                {
                    SPUser currentUser = properties.ListItem.ParentList.ParentWeb.CurrentUser;

                    using (SPWeb webOrigUser = properties.OpenWeb())
                    {
                        SPUserToken token = webOrigUser.AllUsers["SHAREPOINT\\system"].UserToken;
                        using (SPSite site = new SPSite(properties.SiteId, token))
                        {
                            using (SPWeb currentWeb = site.OpenWeb(properties.RelativeWebUrl))
                            {

                                try
                                {
                                    DisableEventFiring();

                                    SPList sourceList = currentWeb.Lists[properties.ListId];
                                    SPListItem itemAdded = sourceList.GetItemById(properties.ListItem.ID);
                                    if (!itemAdded.HasUniqueRoleAssignments)
                                    {
                                        itemAdded.BreakRoleInheritance(true);
                                        itemAdded.ParentList.ParentWeb.Dispose();
                                    }

                                    SPRoleAssignmentCollection roleAssignmentCollection = itemAdded.RoleAssignments;
                                    foreach (SPRoleAssignment roleAssignment in roleAssignmentCollection)
                                    {
                                        roleAssignment.RoleDefinitionBindings.RemoveAll();
                                        roleAssignment.RoleDefinitionBindings.Add(currentWeb.RoleDefinitions.GetByType(SPRoleType.Reader));
                                        roleAssignment.Update();
                                    }

                                    SPRoleDefinition reviserRoleDefinition = currentWeb.RoleDefinitions.GetByType(SPRoleType.Administrator);
                                    SPRoleAssignment reviserRolePropietario = new SPRoleAssignment(currentUser);
                                    reviserRolePropietario.RoleDefinitionBindings.Add(reviserRoleDefinition);
                                    itemAdded.RoleAssignments.Add(reviserRolePropietario);


                                    itemAdded.Update();
                                }
                                catch (Exception ex1)
                                {
                                    properties.ErrorMessage = ex1.Message;
                                    properties.Status = SPEventReceiverStatus.CancelWithError;
                                    System.Diagnostics.Trace.Write("Exception OwnerEventHandler.OwnerEventItemEventReceiver.ItemAdded.1: {0}", ex1.Message);
                                }
                                finally
                                {
                                    EnableEventFiring();
                                }

                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    properties.ErrorMessage = ex.Message;
                    properties.Status = SPEventReceiverStatus.CancelWithError;
                    System.Diagnostics.Trace.Write("Exception OwnerEventHandler.OwnerEventItemEventReceiver.ItemAdded: {0}", ex.Message);
                }
            }

        }
    miércoles, 28 de enero de 2009 23:23
  • ah ok..gracias Marito...por lo tanto, si no es con código no hay forma de hacerlo? correcto? o sea...por configuración así manual no hay? (es que mi jefe es muy necio jajaja)

     

     

    jueves, 29 de enero de 2009 14:29