Solved

Extract Binary XML data to readable XML file

Posted on 2008-10-06
6
1,100 Views
Last Modified: 2012-05-05
I am working in PerformancePoint, and the application stores important data in a binary Blob field in a SQL 2005 table.  If I know the specific field name that I am searching for I have been able to extract data from this field as in the code snippet.  However, now I need to search the entire field for data, but I do not know where it might be stored.  

I would like to convert the entire field into an XML document.  Is this possible without knowing all of the tags used in the field?  
DECLARE @xmlblob xml

SELECT

      @xmlblob = CAST(CAST ( ba.xmlblob AS varbinary(MAX)) as xml)

FROM BizAppNodes ba

WHERE VersionEndDateTime = '9999-12-31 00:00:00.000'

AND BizAppNodeLabel = 'Application' 

a
 

SELECT DISTINCT

      tab.col.value('../../@Label', 'varchar(30)') as ModelLabel,

                  tab.col.value('@Server', 'varchar(30)') as CurrentPeriodId

                  FROM @xmlblob.nodes ('/BizModelSite/Models/ArrayOfBizModel/BizModel/EffectiveDatedCurrentPeriods/EffectiveDatedCurrentPeriod') as tab(col)

Open in new window

0
Comment
Question by:ImageryGrl
  • 3
  • 3
6 Comments
 
LVL 39

Expert Comment

by:BrandonGalderisi
Comment Utility
Your @xmlBlob should have your XML.  Not sure what the question is.

Are you asking how to search the extracted XML not knowing the structure?
0
 

Author Comment

by:ImageryGrl
Comment Utility
Yes exactly.  as it is stored as <Binary data>, I cannot just review it.  I was hoping to extract the full content off to a document so I could more easily perform searches on it.
0
 
LVL 39

Accepted Solution

by:
BrandonGalderisi earned 500 total points
Comment Utility
Your @xmlBlob will contain the entire document.

Just do a select @XMLBlob:


DECLARE @xmlblob xml
SELECT
      @xmlblob = CAST(CAST ( ba.xmlblob AS varbinary(MAX)) as xml)
FROM BizAppNodes ba
WHERE VersionEndDateTime = '9999-12-31 00:00:00.000'
AND BizAppNodeLabel = 'Application'

select @xmlBlob
0
Free Gift Card with Acronis Backup Purchase!

Backup any data in any location: local and remote systems, physical and virtual servers, private and public clouds, Macs and PCs, tablets and mobile devices, & more! For limited time only, buy any Acronis backup products and get a FREE Amazon/Best Buy gift card worth up to $200!

 

Author Comment

by:ImageryGrl
Comment Utility
All it gives me is a single row with a NULL.  
0
 
LVL 39

Expert Comment

by:BrandonGalderisi
Comment Utility
try removing one or both of your criteria.  That date doesn't seem valid to me.
0
 

Author Closing Comment

by:ImageryGrl
Comment Utility
Thanks.  I got it based on your information.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Many times as a report developer I've been asked to display normalized data such as three rows with values Jack, Joe, and Bob as a single comma-separated string such as 'Jack, Joe, Bob', and vice versa.  Here's how to do it. 
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now