Obtenga toda la cadena de conexión para los informes de la base de datos del servidor de informes del servidor de informes de Power Bi

Un usuario Pregunto ✅

Anónimo

intentamos obtener toda la cadena de conexión para todos los informes en la base de datos del servidor de informes del servidor de informes de power bi. La tabla reportserver.dbo.DataModelDataSource tiene todas las cadenas de conexión, pero está cifrada, ¿cómo la desciframos?

CDavies

Hola

Utilice el conector de OData con la API del servidor de informes.

Agregue la URL de su servidor de informes a este en los dos lugares marcados:

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

En respuesta a CDavies

esto funciona para alguien? Recibo un mensaje de carácter no válido después de crear un .pbids con esto … ¿También necesito ver todas las fuentes de datos sin cifrar y no puedo hacer que funcione?

saglamtimur

En respuesta a gregHM

Eche un vistazo a esos enlaces

Muestra las cadenas de conexión de todos los orígenes de datos compartidos de SSRS

descifrar ReportServer.DataSource.ConnectionString

¿Mostrar cadena de conexión en el informe?

Si mi publicación resolvió su problema, marque mi publicación como una solución para ayudar a otros a encontrarla rápidamente y también por favor dele una 👍

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *