Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> При экспорте схемы теряются связи, Экспортирую схему базы в датаСет 
:(
    Опции темы
Compositum
Дата 29.2.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Senior developer
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 430
Регистрация: 6.1.2008
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Заливаю в DataSet схему из базы, лежащей на скул-серваке.
Код

                SqlCommand cmd = cnn.CreateCommand();
                cmd.CommandText = "Select * from lib.TreeMaterials; Select * from lib.libMaterials";
                cmd.CommandType = CommandType.Text;
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                // так заливаю и данные и схему
                da.Fill(ds);
                // а так можно залить ТОЛЬКО схему
                //da.FillSchema(ds, SchemaType.Source);
                ds.WriteXml(Application.StartupPath + @"\MyData.Xml", XmlWriteMode.WriteSchema);
                webBrowser1.Navigate(Application.StartupPath + @"\MyData.Xml");

Схема заливается, но... без связей между таблами.
Т.о. в таблах ДатаСета реализованы ограничения, но проверка целостности не осуществляется. Чревато это следующим: Я могу добавить в дочернюю таблу запись, которой не будет соответствовать ни одной записи в родительской таблице. Т.о. получу нарушение целостности...
База данных на серваке содержит около сотни таблов. Схема базы временами изменяется. Т.о. загрузка схемы - единственный рациональный вариант (как мне кажется).

Нужно импортировать схему вместе со связями. Что я делаю не верно?

PM   Вверх
akizelokro
Дата 3.3.2008, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: нет
Всего: 5



Код

cmd.CommandText = "SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' (или BASE_TABLE?) ORDER BY TABLE_TYPE"

?


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0578 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.