Народ подскажите как в запросе с 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'
???????