Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2012, 22:14   #1
Sandman89
 
Регистрация: 17.12.2011
Сообщений: 4
Вопрос Экспорт из Excel на SQL Server 2008

Здравствуйте, уважаемые знатоки. Столкнулся с небольшой проблемой при работе с базой данных. На предприятии N люди работают в таблицах excel, где у них заточены макросы под их нужды. Менять ни на что они это дело не хотят, но дали задачу построить определенную прогу. Вопрос такой: как из excel вытащить данные и поместить их в базу данных на сервер. Вся загвоздка в том, что в excel таблица выглядит как сложный запрос на вывод 8 таблиц из базы данных, которая на сервере. Как сделать так чтобы разместить данные с учетом связей этих таблиц? Одну таблицу экспортировать получается, а как быть со связанными? За любую помощь буду весьма благодарен. Опыта работы с сервером бд почти нет. Спасибо!
Sandman89 вне форума Ответить с цитированием
Старый 27.03.2012, 19:21   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Задача как понял не разовая. Можно создать в MS SQL таблицы нужной структуры и связями. И сделать хранимую процедуру, очищающую все данные из этих таблиц и экспортирующие в нужной последовательности данные из экселя с помощью, например, OPENROWSET. Особо ничего сложного в этом нет. Если не приемлемо, то небольшую прогу сделать, опять же копирующую данные в существующую структуру таблиц
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 27.03.2012 в 19:33.
Аватар вне форума Ответить с цитированием
Старый 27.03.2012, 22:52   #3
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Если ексель данные достал, то пусть их назад и кидает.
=master= вне форума Ответить с цитированием
Старый 28.03.2012, 00:11   #4
Sandman89
 
Регистрация: 17.12.2011
Сообщений: 4
По умолчанию

Я наверно плохо написал суть задания. Вообщем сейчас экспортировал таблицу их excel в таблицу на SQL Server, назовем ее "МояБД". У меня уже есть нужная структура базы данных, каждую таблицу которой необходимо заполнить данными из МояБД. Я не понимаю как вставить данные сразу в несколько таблиц с учетом связей. Знаю запрос на заполнение одной таблицы, но как несколько?
Sandman89 вне форума Ответить с цитированием
Старый 28.03.2012, 00:25   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
как вставить данные сразу в несколько таблиц
Нет SQL средств, которые сразу вставляют данные в несколько таблиц. Каждая команда INSERT вставляет данные только в одну таблицу. Вставляйте в каждую таблицу отдельно. Или я чего-то так и не понял?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.03.2012, 02:20   #6
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Еще можно посмотреть в сторону SSIS.
=master= вне форума Ответить с цитированием
Старый 28.03.2012, 10:59   #7
Sandman89
 
Регистрация: 17.12.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Нет SQL средств, которые сразу вставляют данные в несколько таблиц. Каждая команда INSERT вставляет данные только в одну таблицу. Вставляйте в каждую таблицу отдельно. Или я чего-то так и не понял?
Хорошо, можно отдельно. Только тогда как учитывать связи между таблицами в конструкторе Insert into?
Sandman89 вне форума Ответить с цитированием
Старый 28.03.2012, 11:14   #8
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Связи учитывают в логике, сначало добаляете данные в главные тавлицы потом в подчиненные, и оборачиваете все это транзакциями.
=master= вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт данных из SQL Server в Access Daniar БД в Delphi 0 02.12.2010 17:56
sql server 2008 Neymexa Помощь студентам 1 25.03.2010 13:13
MS SQL Server 2008 и Visual Studio 2008 C# (Как работать с БД?) cherw9!40k Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 14.01.2010 20:51
c# и sql server 2008 BattleMage SQL, базы данных 3 14.09.2009 20:28
MS SQL Server экспорт Veiron SQL, базы данных 0 23.12.2008 00:25