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 👍