Our app uses the ROLES column of the CATALOGS rowset from the schema, and I seem to be seeing what I think are incorrect results.
The documenation says "Username is appended to ROLES if one of the roles uses dynamic security". OK.
But I often get the username even when there are no MDX expressions used for dimension or cell access. For example, every Foodmart 2000 cube I have migrated shows the username in the role list.
What is the definition of dynamic security for the purposes of the CATALOGS rowset?
I should have noted, this is SSAS 2005.
This is generally how I am retrieving the roles list, if any one wishes to replicate.
OleDbConnection conn = new OleDbConnection( "provider=msolap;SSPI=Negotiate;Prompt=1" ); conn.Open(); DataTable schema = conn.GetSchema("Catalogs"); foreach(DataRow row in schema.Rows) { if (row["ROLES"].ToString().Length > 0) // only available for the current catalog txtRoles.Text = row["ROLES"].ToString(); } conn.Close();
No comments:
Post a Comment