powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Аннотированая схема к временной таблице
4 сообщений из 4, страница 1 из 1
Аннотированая схема к временной таблице
    #34354600
Доброго дня всем.

Имею:
MS-SQL 2000
SQLXML 3.0

Хочу:

Сделать аннотированную схему к временной таблице - не выходит каменный цветок.

Вариант схемы к обычной таблице работает

<?xml version="1.0" encoding="windows-1251" ?>
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql" >
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ms="urn:schemas-microsoft-com:mapping-schema"
id="Tree" sql:is-mapping-schema="1" >
<xsd:annotation>
<xsd:appinfo>
<ms:relationship name="ID_PID"
parent="tree"
parent-key="ID"
child="tree"
child-key="PID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType name="TreeNode">
<xsd:sequence>
<xsd:element name="Node" type="TreeNode"
ms:relation="tree"
ms:relationship="ID_PID"
ms:max-depth="10" />
</xsd:sequence>
<xsd:attribute name="ID" type="xsd:int" />
<xsd:attribute name="PID" type="xsd:int" />
<xsd:attribute name="Name" type="xsd:string" />
</xsd:complexType>

<xsd:element name="Node" type="TreeNode"
ms:relation="tree"
ms:limit-field="pid"
ms:limit-value="1"/>
</xsd:schema>

<sql:xpath-query xmlns:sql='urn:schemas-microsoft-com:xml-sql' mapping-schema='#Tree'>
/Node
</sql:xpath-query>
</root>


Как сделать перед <sql:xpath-query... <sql:query> запрос, который создал бы временную таблицу #tree и чтобы схема сгенерировала запрос именно к этой временной таблице?

Тупо прописать в схеме "#tree" вместо "tree" не прокатывает.

Хелп !!!
...
Рейтинг: 0 / 0
Аннотированая схема к временной таблице
    #34354807
Каюс грешен.

Не знаю как проверял в прошлый раз. Но работает и так.

<?xml version="1.0" encoding="windows-1251" ?>
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql" >
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ms="urn:schemas-microsoft-com:mapping-schema"
id="Tree" sql:is-mapping-schema="1" >
<xsd:annotation>
<xsd:appinfo>
<ms:relationship name="ID_PID"
parent="#tree"
parent-key="ID"
child="#tree"
child-key="PID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType name="TreeNode">
<xsd:sequence>
<xsd:element name="Node" type="TreeNode"
ms:relation="#tree"
ms:relationship="ID_PID"
ms:max-depth="10" />
</xsd:sequence>
<xsd:attribute name="ID" type="xsd:int" />
<xsd:attribute name="PID" type="xsd:int" />
<xsd:attribute name="Name" type="xsd:string" />
</xsd:complexType>

<xsd:element name="Node" type="TreeNode"
ms:relation="#tree"
ms:limit-field="pid"
ms:limit-value="1"/>
</xsd:schema>
<sql:query>
select * into #tree from tree
</sql:query>
<sql:xpath-query xmlns:sql='urn:schemas-microsoft-com:xml-sql' mapping-schema='#Tree'>
/Node
</sql:xpath-query>
</root>
...
Рейтинг: 0 / 0
Аннотированая схема к временной таблице
    #34356510
Выяснил причину, почему в первый раз не получилось.

Оказывается при наличие в шаблоне хотябы одного параметра SQLXML помещает весь запрос в sp_executesql и соответственно временная таблица создаваемая в нем не видна текущему сеансу.


Можно ли как то это обойти ?
...
Рейтинг: 0 / 0
Аннотированая схема к временной таблице
    #34356540
Выяснил причину, почему в первый раз не получилось.

Оказывается при наличие в шаблоне хотябы одного параметра SQLXML помещает весь запрос в sp_executesql и соответственно временная таблица создаваемая в нем не видна текущему сеансу.


Можно ли как то это обойти ?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Аннотированая схема к временной таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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