У меня есть проблема с использованием функции openxml в моей хранимой процедуре, как вы можете видеть, инструкция select возвращает пустую строку. Я подозреваю, что sql не смог прочитать xml-каталоги. Это первый раз, когда я использую эту функцию, поэтому я не уверен, что это правильный способ использования it.btw. Я использую SQL Server 2008 r2. вот код для воспроизведения проблемы.SELECT * FROM OPENXML В STORED PROCEDURE возвращает пустую строку
Declare @hddoc int
Declare @Doc xml
SET @Doc = ' <DataSet>
<tblEmp>
<name>Nazri</name>
<designation>Developer</designation>
</tblEmp>
<tblEmp>
<name>Jibin</name>
<designation>System Analyst</designation>
</tblEmp>
</DataSet>'
EXEC SP_XML_PREPAREDOCUMENT @hddoc OUTPUT, @Doc
SELECT @hddoc
DECLARE @iDoc INT
SET @iDoc = 1
SELECT *
FROM OPENXML(@iDoc,'/Dataset/tblEmp')
WITH (name varchar(50) '@name',
designation varchar(50) '@designation'
)
Я понимаю, что это просто ходячий пример, но когда вы делаете производство кода готовы не забудьте позвонить 'sp_xml_removedocument' освободить ручку документа или иначе это приведет к утечка ресурса – Tedford