powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / методы value и nodes
3 сообщений из 3, страница 1 из 1
методы value и nodes
    #39507002
feumarina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Уважаемые формучане, не могли бы вы помочь в решении следующей задачи?

Есть столбец в формате image, после приведения в типу хml пытаюсь реализовать следующий код:


WITH XMLNAMESPACES(
DEFAULT 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition',
'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' AS REP
)

SELECT C.ItemID,
C.Name,
C.Path,
DataSetXML.value('@Name', 'varchar(MAX)') DataSourceName,
DataSetXML.value('REP:Query[1]/REP:CommandText[1]', 'varchar(MAX)') CommandText,
ReportXML
FROM (SELECT ItemID,
CAST(CAST(CONTENT AS VARBINARY(MAX)) AS XML) ReportXML
FROM [dbo].[Catalog]
WHERE [Content] IS NOT NULL)ReportXML
OUTER APPLY ReportXML.nodes('//REP:DataSet') DataSetXML(DataSetXML)
LEFT JOIN [dbo].[Catalog] c
ON ReportXML.ItemID = c.ItemID
WHERE C.Name LIKE '%закрытым%


Никакого разбиения строк не происходит и в 4 и 5 столбце выпадают значение NULL.
...
Рейтинг: 0 / 0
методы value и nodes
    #39507004
feumarina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вернее, происходит так: в части сток разбиение все-таки проходит, в части нет.
...
Рейтинг: 0 / 0
методы value и nodes
    #39507141
feumarina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот так заработало

SELECT distinct SUBSTRING(
x.CatContent
,x.CIndex
,CHARINDEX('"',x.CatContent,x.CIndex+7) - x.CIndex
)
FROM
(
SELECT CatContent = CONVERT(NVARCHAR(MAX),CONVERT(XML,CONVERT(VARBINARY(MAX),C.Content)))
,CIndex = CHARINDEX('xmlns="',CONVERT(NVARCHAR(MAX),CONVERT(XML,CONVERT(VARBINARY(MAX),C.Content))))
FROM dbo.Catalog C
WHERE C.Content is not null
AND C.Type = 2
) X
;
WITH XMLNAMESPACES ( DEFAULT 'http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition' , 'http://schemas.microsoft.com/SQLServer/reporting/reportdesigner' AS rd )
SELECT ReportName = name
,DataSourceName = x.value('(Query/DataSourceName)[1]','VARCHAR(250)')
,CommandText = x.value('(Query/CommandText)[1]','VARCHAR(250)')
,path
FROM ( SELECT C.Name, c.path,CONVERT(XML,CONVERT(VARBINARY(MAX),C.Content)) AS reportXML

FROM dbo.Catalog C
WHERE C.Content is not null
AND C.Type = 2
) a
outer APPLY reportXML.nodes('/Report/DataSets/DataSet') r ( x )
ORDER BY name
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / методы value и nodes
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]