clsCubeRole
Ostrzeżenie
Ta funkcja zostanie usunięta z następnej wersji programu Microsoft SQL Server. Nie należy stosować tej funkcji w nowych projektach oraz jak najszybciej należy zmodyfikować aplikacje, w których obecnie jest używana ta funkcja.
Obiekt ClassType clsCubeRole zawiera określonej implementacji Decision Support Objects (DSO) Role interfejs.Ten obiekt zawiera kolekcje, metody i właściwości za pomocą Role interfejs.
Uwagi
Użyj obiektów ClassType clsCubeRole do zarządzania zestaw użytkowników, którzy mogą uzyskiwać dostęp do moduł (dowolnego typu) oraz sposób, w którym mają dostęp goA rola modułu ma nazwę, opis, obiekt nadrzędny typ klasy, listę użytkowników i zestaw uprawnień.Każde uprawnienie ma klucz i odpowiednie wyrażenie zgody.
Tworzenie ról poziom bazy danych (role bazy danych), a następnie przydzielić je do modułów (role moduł), dodając je do kolekcja ról związanych z moduł.Role przypisane do moduł automatycznie stosuje się do jego partycje i agregacji.
rola bazy danych można usunąć przez usunięcie go z bazy danych kolekcja roli obiektów.Jeśli tak zrobisz, system automatycznie usuwa odpowiednie role moduł z moduł kolekcja roli obiektów.
rola modułu można usunąć przez usunięcie go z moduł kolekcja roli obiektów.Kiedy zrobisz, odpowiednie rola bazy danych nie dotyczy.Jednakże definicja rola modułu pozostaje, dopóki aktualizacji lub przetworzyć moduł.
Przykład
Załóżmy, że konieczne jest zdefiniowanie ról o nazwie FinanceManagers, ProductionManagers i SalesManagers poziom bazy danych.Załóżmy również chcesz przypisać odpowiednie wiceprzewodniczący listy użytkowników dla każdej roli i Prezes firmy do listy użytkowników dla wszystkich trzech ról.Na koniec załóżmy, że chcesz utworzyć moduł dla każdego roku finansowego, produkcji i danych dotyczących sprzedaży w latach 1995, 1996 i 1997.
Aby zdefiniować odpowiednie role bazy danych i moduł tej sytuacji, należy użyć następującego kodu.
Ostrzeżenie
List użytkownika zdefiniowane role bazy danych są automatycznie skojarzone z odpowiednimi rola modułs i nie można zmienić na rola moduł poziom.
'Assume an object (dsoDB) of ClassType clsDatabase exists.
'Create database roles.
Dim DbRole_FinanceMgrs As DSO.Role
Dim DbRole_ProductionMgrs As DSO.Role
Dim DbRole_SalesMgrs As DSO.Role
Set DbRole_FinanceMgrs = dsoDB.Roles.AddNew("FinanceManagers")
Set DbRole_ProductionMgrs = dsoDB.Roles.AddNew("ProductionManagers")
Set SbRole_SalesMgrs = dsoDB.Roles.AddNew("SalesManagers")
'Define user lists for database roles.
'(In a real-world situation, actual user names would be
'used in place of titles like "President".)
DbRole_FinanceMgrs.UsersList = "President;VP_Finance"
DbRole_ProductionMgrs.UsersList = "President;VP_Production"
DbRole_SalesMgrs.UsersList = "President;VP_Sales"
'Update the repository for the database roles.
DbRole_FinanceMgrs.Update
DbRole_ProductionMgrs.Update
DbRole_SalesMgrs.Update
'Assume objects (Cube95, Cube96 and Cube97) of ClassType clsCube exist
'Create cube roles. Cube role names must be identical
'to the corresponding database role names.
Dim CubeRole_FinanceMgrs As DSO.Role
Dim CubeRole_ProductionMgrs As DSO.Role
Dim CubeRole_SalesMgrs As DSO.Role
'Add roles to Cube95.
Set CubeRole_FinanceMgrs = Cube95.Roles.AddNew("FinanceManagers")
Set CubeRole_ProductionMgrs = Cube95.Roles.AddNew("ProductionManagers")
Set CubeRole_SalesMgrs = Cube95.Roles.AddNew("SalesManagers")
'Add roles to Cube96.
Set CubeRole_FinanceMgrs = Cube96.Roles.AddNew("FinanceManagers")
Set CubeRole_ProductionMgrs = Cube96.Roles.AddNew("ProductionManagers")
Set CubeRole_SalesMgrs = Cube96.Roles.AddNew("SalesManagers")
'Add roles to Cube97.
Set CubeRole_FinanceMgrs = Cube97.Roles.AddNew("FinanceManagers")
Set CubeRole_ProductionMgrs = Cube97.Roles.AddNew("ProductionManagers")
Set CubeRole_SalesMgrs = Cube97.Roles.AddNew("SalesManagers")
'Update the repository for the cubes.
Cube95.Update
Cube96.Update
Cube97.Update
Zobacz także