Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago

Get all connection string for reports from power bi report server reportserver database

we try to get all connection string for all reports in power bi report server reportserver database. reportserver.dbo.DataModelDataSource table has all connection string, but it is encrypted, how we decrypt it?

 

 

7 Replies

  • Hi

     

    Use the OData connector with the report server API.

     

    Add your report server URL to this in the two places marked:

    let
    
        Source = OData.Feed("https://<YOUR URL>/pbireports/api/v2.0/PowerBIReports", null, [Implementation="2.0"]),
    
        #"Expanded DataSources" = Table.ExpandTableColumn(Source, "DataSources", {"Id", "ModifiedBy", "ModifiedDate", "ConnectionString", "DataModelDataSource"}, {"DataSources.Id", "DataSources.ModifiedBy", "DataSources.ModifiedDate", "DataSources.ConnectionString", "DataSources.DataModelDataSource"}),
    
        #"Expanded DataSources.DataModelDataSource" = Table.ExpandRecordColumn(#"Expanded DataSources", "DataSources.DataModelDataSource", {"Type", "Kind", "AuthType", "Username", "ModelConnectionName"}, {"DataSources.DataModelDataSource.Type", "DataSources.DataModelDataSource.Kind", "DataSources.DataModelDataSource.AuthType", "DataSources.DataModelDataSource.Username", "DataSources.DataModelDataSource.ModelConnectionName"}),
    
        #"Added Conditional Column" = Table.AddColumn(#"Expanded DataSources.DataModelDataSource", "DS.Connection_String", each if [DataSources.ConnectionString] = null then "No Data Source" else [DataSources.ConnectionString]),
    
        #"Removed Columns" = Table.RemoveColumns(#"Added Conditional Column",{"CacheRefreshPlans", "AccessToken", "Roles", "ContentType", "Content", "ParentFolder", "Properties", "Comments", "AlertSubscriptions", "AllowedActions", "Policies", "DependentItems","Id", "ParentFolderId", "DataSources.Id", "DataSources.DataModelDataSource.ModelConnectionName"}),
    
        #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"DataSources.ConnectionString", "DS.ConnectionString"}, {"DataSources.DataModelDataSource.Type", "DS.Type"}, {"DataSources.DataModelDataSource.Kind", "DS.Kind"}, {"DataSources.DataModelDataSource.AuthType", "DS.AuthType"}, {"DataSources.DataModelDataSource.Username", "DS.Username"}, {"DataSources.ModifiedBy", "DS.ModifiedBy"}, {"DataSources.ModifiedDate", "DS.ModifiedDate"}, {"Name", "Report"}, {"Path", "Report Path"}}),
    
        #"Add Report URL" = Table.AddColumn(#"Renamed Columns", "Report URL", each "https://<YOUR URL>/PBIReports/powerbi" & [Report Path] & "?rs:embed=true")
    
    in
    
        #"Add Report URL"

     

     

    • gregHM's avatar
      gregHM
      Frequent Visitor

      does this work for anyone? I get an invalid character message after creating a .pbids with this....I also have a need to see all the unencrypted data sources and unable to get it to work?

    • Anonymous's avatar
      Anonymous
      Not applicable

      CDavies  Hi, when i choose Odate feed (Get Data) from Power Bi, a message popup with credentials error, when i choose windows credentials, it says use anonamous, when i choose anonamous it throws an error,

       

    • Gopikrishna-J's avatar
      Gopikrishna-J
      Frequent Visitor

      Hi ,

       

      I tried using above the OData connector with the report server API method and code, but it's throwing below error message when apply the change on Power Query Editor, could you please help me in this fixing this error. Thanks in advance 🙂