OpenXML и NameSpase.....
От: postbald  
Дата: 28.07.03 07:24
Оценка:
Народ подскажите как в запросе с OpenXML
правильно с NameSpasом спросить...
сорри за каламбур


Итак есть такие данные :
<?xml version="1.0" standalone="yes"?>
<xml>
  <data>
    <row TypeReportName="Бухгалтерия" />
    <row TypeReportName="Buhgalteriya" />
  </data>
</xml>

Эти ценные данные Insertим используя эту хранимую процедуру :
CREATE PROCEDURE InsertXml (@InXMLString ntext)
AS
declare @iTree integer
(
    [TypeReportName] [char] (250) COLLATE Cyrillic_General_CI_AS NULL 
)
exec sp_xml_preparedocument @iTree output, @InXMLString
INSERT INTO tblTypeReport
SELECT * 
FROM 
openxml(@iTree, 'xml/data/row',1)
with (TypeReportName nChar(250))
exec sp_xml_removedocument @iTree
GO


Все замечательно вставляется и становится очень радостно за MSSQLServer2000

Но вот если передаем это :


<?xml version="1.0" standalone="yes"?>
<xml>
  <rs:data xmlns:rs="urn:schemas-microsoft-com:rowset">
    <z:row TypeReportName="Бухгалтерия" xmlns:z="#RowsetSchema" />
    <z:row TypeReportName="Buhgalteriya" xmlns:z="#RowsetSchema" />
  </rs:data>
</xml>


то вся радость проходит вместе с появлением сообщения:


Server: Msg 6603, Level 16, State 1, Procedure InsertXml, Line 9
XML parsing error: Reference to undeclared namespace prefix: 'rs'.



И вот теперь вопрос:

Как правильно написать в OpenXMLe строку
'xml/data/row'


???????
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.