Создаем DataSet Schema в XML Designer
От: dmaster1  
Дата: 29.11.04 12:34
Оценка:
Всем привет!
У меня такая проблема, может кто-нибудь уже сталкивался с такими заморочками....
Создаю DataSet схему в XML дизайнере (удобный тул, можно просто рисовать свои таблички как в MS Access в режиме конструктора). Знаю, что у меня будут две таблицы (Users и Gateways), в которых будут две одинаковые подтаблицы (DialingRules). Поступаю следующим образом.
1) Создаю сложный тип ComplexType следующего вида (попытюсь схематично нарисовать как в XML-дизайнере) назваю его MySrcDst:

|[CT]|MySrcDst | anyType|
|E |Match | string |
|E |Pattern | string |
|E |Result | string |

2) Создаю еще один ComplexType (содержащий элементы типа MySrcDst) и называю его MyDialingRules:

|[CT]|MyDialingRules | anyType |
|E |Source | MySrcDst |
|E |Destination | MySrcDst |

3) Теперь создаю те самые таблицы (Users и Gateways) в которых будут
будут фигурировать элементы типа MyDialingRules (по одному в каждой таблице):
3а) таблица Users:
|[E]|Users |(Users) |
|E |Name |string |
|E |Phone |string |
|E |.... |...... |
|E |DialingRules |MyDialingRules |
|E |.... |...... |
3б) таблица Gateways:
|[E]|Gateways |(Gateways) |
|E |Name |string |
|E |Type |string |
|E |.... |...... |
|E |DialingRules |MyDialingRules |
|E |.... |...... |

При попытке сохранить получаю сообщение об ошибке:

DefaultDataBase.xsd(1): Custom tool error: Unable to convert input xml file content to a DataSet. The same table (DialingRules) cannot be the child table in two nested relations.

Не могу понять, что ему не хватает, и как разрешить эту проблему???????
Таблицы не связаны между собой.
Буду благодарен всем неравнодушным за любые дельные советы
Re: Создаем DataSet Schema в XML Designer
От: dmaster1  
Дата: 29.11.04 13:32
Оценка:
Здравствуйте, dmaster1, Вы писали:

D>Всем привет!

D>У меня такая проблема, может кто-нибудь уже сталкивался с такими заморочками....
D>Создаю DataSet схему в XML дизайнере (удобный тул, можно просто рисовать свои таблички как в MS Access в режиме конструктора). Знаю, что у меня будут две таблицы (Users и Gateways), в которых будут две одинаковые подтаблицы (DialingRules). Поступаю следующим образом.
D>1) Создаю сложный тип ComplexType следующего вида (попытюсь схематично нарисовать как в XML-дизайнере) назваю его MySrcDst:

D> |[CT]|MySrcDst | anyType|

D> |E |Match | string |
D> |E |Pattern | string |
D> |E |Result | string |

D>2) Создаю еще один ComplexType (содержащий элементы типа MySrcDst) и называю его MyDialingRules:


D> |[CT]|MyDialingRules | anyType |

D> |E |Source | MySrcDst |
D> |E |Destination | MySrcDst |

D>3) Теперь создаю те самые таблицы (Users и Gateways) в которых будут

D>будут фигурировать элементы типа MyDialingRules (по одному в каждой таблице):
D>3а) таблица Users:
D> |[E]|Users |(Users) |
D> |E |Name |string |
D> |E |Phone |string |
D> |E |.... |...... |
D> |E |DialingRules |MyDialingRules |
D> |E |.... |...... |
D>3б) таблица Gateways:
D> |[E]|Gateways |(Gateways) |
D> |E |Name |string |
D> |E |Type |string |
D> |E |.... |...... |
D> |E |DialingRules |MyDialingRules |
D> |E |.... |...... |

D>При попытке сохранить получаю сообщение об ошибке:


D>DefaultDataBase.xsd(1): Custom tool error: Unable to convert input xml file content to a DataSet. The same table (DialingRules) cannot be the child table in two nested relations.


D>Не могу понять, что ему не хватает, и как разрешить эту проблему???????

D>Таблицы не связаны между собой.
D>Буду благодарен всем неравнодушным за любые дельные советы


Неужели ни никто ничего не может сказать по этой проблеме!!!???
Re: Создаем DataSet Schema в XML Designer
От: V.Petrovski Беларусь  
Дата: 29.11.04 13:41
Оценка: 12 (1)
Здравствуйте, dmaster1, Вы писали:

D>DefaultDataBase.xsd(1): Custom tool error: Unable to convert input xml file content to a DataSet. The same table (DialingRules) cannot be the child table in two nested relations.

Это вложенные связи. Они созданы бля поддержки xml вот такого вида
<dataset>
    <customers>
        <orders/>
        ...
        <orders/>
    </customers>
    ...
    <customers>
        <orders/>
        ...
        <orders/>
    </customers>
</dataset>

Если делать простые relations, то файл получиться вот такой
<dataset>
    <customers/>
    <orders>
        <customID/>
    </orders>
</dataset>


Св-во Nested у Relation необходимо ставить в True, если:
1. Тебе надо получить xml первого вида
2. Тебе надо что бы работали xpath вида dataset/customers[id=1]/orders
3. У тебя есть агрегация мощностью 1:М или 1:1.

Ты не рисуй XML ты рисуй БД, создай таблицы, PK, FK, Relations через PK и FK.
... << RSDN@Home 1.1.4 @@subversion >>
Re: Создаем DataSet Schema в XML Designer
От: PetrovichForever Россия  
Дата: 30.11.04 09:38
Оценка:
D>3а) таблица Users:
D> |[E]|Users |(Users) |
D> |E |Name |string |
D> |E |Phone |string |
D> |E |.... |...... |
D> |E |DialingRules |MyDialingRules |
D> |E |.... |...... |
D>3б) таблица Gateways:
D> |[E]|Gateways |(Gateways) |
D> |E |Name |string |
D> |E |Type |string |
D> |E |.... |...... |
D> |E |DialingRules |MyDialingRules |
D> |E |.... |...... |

D>При попытке сохранить получаю сообщение об ошибке:


А ты внимательнее почитай сообщение об ошибке, оно для того и нужно!
.....
Поясняю:
Если посмотреть на этот xml как на DataSet, то создается таблицы Users и Gateways, в каждой из которых есть поля
|E |Name |string |
|E |Phone |string |
Дальше создается таблица DialingRules с полями, описанными в типе MyDialingRules, и её parent указывает на таблицу Users. Здесь все нармально. Но! Дальше идет попытка создать еще одну таблицу DialingRules с теми же самыми полями, но парентом уже на Gateways!!!
Ошибка в создании второй таблицы с тем же именем!
Догадался? Правильно, нужно переименовать вторую таблицу (а-ля Nod в xml'е).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.