Forum Discussion

kprabha2020's avatar
kprabha2020
Microsoft Employee
5 years ago

Access PowerBI dataset model through powershell OleDbConnection

Hi,

 

I'm trying to access the PowerBI dataset model through powershell using OleDbConnection with the following code.

It is throwing an access issue error message but the same code was worked fine a few months back.

 

$connection = New-Object -TypeName System.Data.OleDb.OleDbConnection
$connectionString = 'Provider=MSOLAP.8;Initial Catalog=sobe_xxx-xxxxx;Data Source=pbiazure://api.powerbi.com;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error;Identity Provider=https://login.microsoftonline.com/common, https://analysis.windows.net/powerbi/api, 929d0ec0-7a41-4b1e-xxxx-xxxx;Update Isolation Level=2'
$connection.ConnectionString = $connectionString
$command = $connection.CreateCommand()
$command.CommandText = "SELECT [ID] AS [ModelID], [Name] AS [ModelName], [ModifiedTime] AS [ModelModifiedTime], [StructureModifiedTime] AS [ModelStructureModifiedTime], [Version] AS [ModelVersion] FROM $SYSTEM.TMSCHEMA_MODEL"
$Sourceadapter = New-Object -TypeName System.Data.OleDb.OleDbDataAdapter $command
$dmvResultSet = New-Object -TypeName System.Data.DataTable
$Sourceadapter.Fill($dmvResultSet)

 

Error :


Exception calling "Fill" with "1" argument(s): "User '<pii>72f988bf-86f1-41af-91ab-2d7cd011db47-xxxxxx</pii>' needs to be an administrator to read the
metadata of the database 'f0fb13c2-ebd3-4135-ae5d-xxxxx'."

 

Please help me if you encountered the similar issues and have any solutions for it, it will be a great help.

 

Note: Given the owner access to the workspace for the above user