Всем привет!
У меня такая проблема, может кто-нибудь уже сталкивался с такими заморочками....
Создаю 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.
Не могу понять, что ему не хватает, и как разрешить эту проблему???????
Таблицы не связаны между собой.
Буду благодарен всем неравнодушным за любые дельные советы
Здравствуйте, 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>Буду благодарен всем неравнодушным за любые дельные советы
Неужели ни никто ничего не может сказать по этой проблеме!!!???
Здравствуйте, 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 >>
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'е).