Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Описать вторую связь в XSD
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Обращаюсь к знающим людям. Перекачиваю данные из XML в MSSQL bulkload-ом. Есть XML файл: <p1 code="1234"...> <d1 date="1111" ...> <q1 price="444"/> ... <d1/> ... <p1/> ... Соответственно в xsd пишу: <xsd:element name="d1" ms:relation="d1"> <xsd:complexType> <xsd:sequence> <xsd:element name="q1" ms:relation="q1"> <xsd:annotation> <xsd:appinfo> <xsd:relationship parent="d1" parent-key="date" child="q1" child-key="date"/> </xsd:appinfo> </xsd:annotation> <xsd:complexType> <xsd:attribute name="price"> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="date"> </xsd:complexType> В данном примере я организовал связь между d1 и q1 по полю date. После перекачки данных в результирующей таблице q1 появляется поле date. Но поле date не полностью идентифицирует price. В таблицу q1 надо добавить p1.code. Подскажите пожалуйста как в XSD описать связь q1 и p1. т.е. как сделать так чтобы в результирующей таблице q1 появилось еще одно поле code. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 09:12 |
|
||
|
Описать вторую связь в XSD
|
|||
|---|---|---|---|
|
#18+
хочу немного поправить: речь здесь не может идти про xml-схемы (xsd). они тут немного не к месту. Я думаю Вы хотели сказать про XDR-схемы сопоставления. И скажу Вам честно - никогда этим не пользуюсь, потому что еще не нашел место, где их УДОБНО И К МЕСТУ можно применять. Речь идет про SQLXML... насколько я понимаю. Поэтому лучше установить связку XML -> SQL Server. Через Get или Post загрежать данные и разбирать их с помощью OPENXML. Чем использовать скрипты для описания связи между таблицами в виде XDR-схемы. Считаю, что это все делается или в связи со слабым знанием возможностей T-SQL (MS SQL Server 2k) или по причине желания продублировать свою работу: т.е. сначала создать структуру БД на T-SQL при создании БД, а затем описывать все ее связи в виде схем. Маразм, неправда-ли? p.s. С удовольствием выслушаю другие мнения. Вдруг я неправ :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 10:45 |
|
||
|
Описать вторую связь в XSD
|
|||
|---|---|---|---|
|
#18+
M0us... p.s. С удовольствием выслушаю другие мнения. Вдруг я неправ :) Очень даже может быть... Ведь у автора топика речь идет об использовании bulkload возможностей, предоставляемых сервисом SQLXML (как вы правильно догадались). А это вам - не распарсивать "бесконечный" тип ntext, поступающий на вход какой-нить процедуры закачки данных с помощью OPENXML с последующим распихиванием resultset-ов по таблицам БД. Обычно, если речь идет о данных не более чем 1-го persistent объекта (т.е. 1-на запись в "шапке", 2-3 записи в "хитрых" атрибутах, 10-20-30-100 записей в "табличных частях"), то можно вполне обойтись и "вашей" схемой (OPENXML + INSERT INTO). Но бывают задачи по регулярной загрузке большого количества записей (10К-100К-500К) за один раз, и тут без bulkload и предварительного описания схемы не обойтись....(ИМХО). З.Ы. насчет ответа по существу топика - есть на данном сайте статья А. Шуленина про возможности SQLXML, авось поможет... удачи!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 11:17 |
|
||
|
Описать вторую связь в XSD
|
|||
|---|---|---|---|
|
#18+
Уважаемый M0us! я не претендую на знатока XML технологий, поэтому и обратился к Знающим Людям. Применение bulkload (не openxml) обусловлено большим объемом xml файла (>5 Mb). Какие трудности вызывает при этом применение openxml догадайтесь сами. Кстати, посоветуйте как написать в этом случае XDR схему, а уж как конвертить её в XSD средствами SQLXML я знаю. Для qu-qu: статья А.Шуленина в этом случае мне не поможет. Я думаю что ответ на мой вопрос в теме тривиальный, только не пойму в какую сторону капать (до этого с xml не сталкивался). Помогите плиз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 12:07 |
|
||
|
Описать вторую связь в XSD
|
|||
|---|---|---|---|
|
#18+
Soft66...Для qu-qu: статья А.Шуленина в этом случае мне не поможет. Я думаю что ответ на мой вопрос в теме тривиальный, только не пойму в какую сторону капать (до этого с xml не сталкивался). Помогите плиз Вот выдержка из MSDN: Specifying Relationships by Using sql:relationship ... parent-key Specifies the parent key of the parent. If the parent key is composed of multiple columns , values are specified with a space between them. There is a positional mapping between the values that are specified for the multicolumn key and for the corresponding child key. ... child-key Specifies the child key in the child referring to parent-key in parent. If the child key is composed of multiple attributes (columns), the child-key values are specified with a space between them. There is a positional mapping between the values that are specified for the multicolumn key and for the corresponding parent key. ...(выделено мной). Т.о., полагаю, что вам достаточно будет написать что-то вроде: Код: plaintext 1. 2. 3. Сам такого пока еще не делал, но результат меня тоже очень интересует - сообщите, пжлст, если что-то получится... удачи!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 12:24 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=33419219&tid=1334931]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
132ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 454ms |

| 0 / 0 |
