2014-02-18 7 views
2

XML을 이미지 형식으로 SQL에 저장했습니다. 내가 시도하고 실제로 달성하기 위해 관리하는 것은 저장된 XML에서 데이터를 가져 오는 것입니다. 문제는 데이터가 유니 코드로 저장되지만, 내가 얻는 것은 ASCII 형식의 데이터입니다. 나는 많은 시도했지만이 일을 할 수 없습니다.SQL에서 이미지 유형으로 저장된 XML에서 데이터를 읽는 방법은 무엇입니까?

DECLARE @xml XML; 
set @xml = convert(xml,(CONVERT(varchar(max), @data))); 
SELECT 
T.c.query('data(node1/id)') as 'id', 
T.c.value('node1[1]/name[1]','nvarchar(100)') as 'name' 
FROM @xml.nodes('Test1/Test2') T(c) 

데이터를 varchar (최대)로 변환하는 이유는 데이터를 nvarchar (최대)로 변환 할 때 데이터를 가져올 수 없기 때문입니다. 마찬가지로 코드를 변경하면

set @xml = convert(xml,(CONVERT(nvarchar(max), @data))); 

나는 데이터를 볼 수 없습니다.

도움 주셔서 감사합니다.

+1

(모든 값이 xml이거나 그렇지 않으면 nvarchar (max) 인 경우 열 데이터 유형을 영구적으로 변경하는 데 더 많은 시간을 할애해야합니다. 'image'는 더 이상 사용되지 않습니다. –

+0

'@ data'는 어떤 데이터 타입입니까? –

+0

SQL 서버에 이미지로 저장되었으며 varbinary (최대)로 로컬 변수에 저장됩니다. – user3322380

답변

0

실시간으로 xml로 변환 해보세요. cast(@data as xml)

관련 문제