Forum Discussion
Anonymous
9 years agoNot applicable
Power BI Report Server dbo.Catalog table
HI, I'm trying converting content data from dbo.Catalog table of my Power Bi Report Server Database, but conversion of data about type = 13 (pbix files) return me an issue: XML parsing line 1 ch...
v-yulgu-msft
Microsoft Employee
9 years agoHi Anonymous,
Not sure what SQL query you were using that resulted above error. Please try below query:
WITH ItemContentBinaries AS
(
SELECT
ItemID,Name,[Type]
,CASE Type
WHEN 2 THEN 'Report'
WHEN 5 THEN 'Data Source'
WHEN 7 THEN 'Report Part'
WHEN 8 THEN 'Shared Dataset'
When 13 Then 'Power BI Report'
ELSE 'Other'
END AS TypeDescription
,CONVERT(varbinary(max),Content) AS Content
FROM ReportServer.dbo.Catalog
WHERE Type in (2,5,7,8,13)
),
--The second CTE strips off the BOM if it exists...
ItemContentNoBOM AS
(
SELECT
ItemID,Name,[Type],TypeDescription
,CASE
WHEN LEFT(Content,3) = 0xEFBBBF
THEN CONVERT(varbinary(max),SUBSTRING(Content,4,LEN(Content)))
ELSE
Content
END AS Content
FROM ItemContentBinaries
)
--The outer query gets the content in its varbinary, varchar and xml representations...
SELECT
ItemID,Name,[Type],TypeDescription
,Content --varbinary
,CONVERT(varchar(max),Content) AS ContentVarchar --varchar
,CONVERT(xml,Content) AS ContentXML --xml
FROM ItemContentNoBOM
Reference: Extract RDL (XML) from the ReportServer database
Best regards,
Yuliana Gu
FinditEZ
8 years agoNew Member
Hi v-yulgu-msft,
That is the precise query that generates the error Anonymous is reporting. Note that the BOM for a Power BI document contents is different then the legacy SSRS reports, datasources and shared datasets.
Is there a different CASE WHEN clause to strip off the unique BOM characters used for Power BI contents stored in SQL Server reports catalog?
Thank you,
Ken