|
|
|
Разработка БД на основе существующей БД и Excel файлов
|
|||
|---|---|---|---|
|
#18+
Добрый день, форумчане! Столкнулся с такой задачей - нужно сделать базу данных (SQL Server), в которой хранятся данные из двух источников: 1. Условно-постоянные данные из БД, находящейся на стороннем SQL Server (доступ есть). Данные следущего характера (Табличка с Пользователями(ФИО, дата рождения и т.д.)+несколько связанных таблиц). 2. Переменные данные, которые ведутся в формате Excel (ФИО, Город, улица, дом и др.). Одному Пользователю может принадлежать несколько таких excel файлов. На выходе основным требованием является возможность формирования отчетов о Пользователе в необходимых срезах. Пример запроса на выборку: все пользователи с фамилией Иванов, датой рождения старше 1980г, проживающих в г. Урюпинске. Подскажите, пожалуйста, как решать подобную задачу. Где можно почитать на эту тему, может кто кинет ссылки на решение схожей задачи. Буду рад любому совету, т.к. сам до недавнего времени являлся только пользователем БД, а не разработчиком, пока дойду до решения через толстенные книги - задача станет неактуальной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2010, 10:44 |
|
||
|
Разработка БД на основе существующей БД и Excel файлов
|
|||
|---|---|---|---|
|
#18+
Отказаться от XLS файлов, хранить все в БД на SQL сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2010, 11:05 |
|
||
|
Разработка БД на основе существующей БД и Excel файлов
|
|||
|---|---|---|---|
|
#18+
Программист-ЛюбительОтказаться от XLS файлов, хранить все в БД на SQL сервере. Нельзя отказаться. Ситуация примерно такова: БД с "постоянными данными" находится в Москве и была создана давно, сейчас из разных городов приходят эти Excel файлы (их уже порядочное количество), с которыми нужно как-то работать. Вот и возникла идея создать новую БД, в которую попадает часть данных из старой + импортируются данные из этих Excel файлов с привязкой по ключу ФИО. Это первое решение, которое пришло в голову...проблема - я не знаю, как его реализовать. Может, есть более оптимальное решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2010, 11:22 |
|
||
|
Разработка БД на основе существующей БД и Excel файлов
|
|||
|---|---|---|---|
|
#18+
Решайте техническую проблему удаленного доступа. Городить изначально искореженное решение на файлах экселя россыпью - тупик. В принципе возможно, но грабель вы себе разложите неисчислимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2010, 11:34 |
|
||
|
Разработка БД на основе существующей БД и Excel файлов
|
|||
|---|---|---|---|
|
#18+
kotoff_sobakaСитуация примерно такова: БД с "постоянными данными" находится в Москве и была создана давно, сейчас из разных городов приходят эти Excel файлы (их уже порядочное количество), с которыми нужно как-то работать. Вот и возникла идея создать новую БД, в которую попадает часть данных из старой + импортируются данные из этих Excel файлов с привязкой по ключу ФИО. Это первое решение, которое пришло в голову...проблема - я не знаю, как его реализовать. Может, есть более оптимальное решение? 1. SQL Server (как я понял MSSQL) может подключаться к внешним серверам через exec sp_addlinkedserver... то есть после подключение, вы на вашем локальном сервере, можете делать запросы и цеплять данные другого сервера. приводить полученные excel файлы к общему виду, и писать какую-то утилиту, которая бы конвертировала и заносила данные из excel в ваш SQL сервер и, можно получать нужную отчетность в разных разрезах можно в принципе, один лист экселя связать с таблицей БД, и туда Copy делать... но это, как и вариант с конвертером, полуручная работа 2. как тут уже сказали - отказаться от файлов excel, более правильный путь как вариант - в вебе сделать формочки... пользователи открывают определенную страничку в интернет, вводят логин, и те же формы забивают там все это хранится у хостера(или у вас если есть возможность) в БД (MSSQL). все сразу в нормализованном виде и одном месте. по возможности, от туда sp_addlinkedserver к "условно-постоянным" данным и разные отчеты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2010, 11:45 |
|
||
|
Разработка БД на основе существующей БД и Excel файлов
|
|||
|---|---|---|---|
|
#18+
Программист-ЛюбительРешайте техническую проблему удаленного доступа. Городить изначально искореженное решение на файлах экселя россыпью - тупик. В принципе возможно, но грабель вы себе разложите неисчислимо. Эх.. Красивейшее решение в свое время было сделано для конторы охранных сигнализаций. Заявка выполняется в экселе. А в конце месяца необходимо собрать итого сумм, за материалы, услуги и т.п. В экселе было сделано следующее. Шаблон. Табу на его корректировку. Значимым ячейкам присвоены псевдонимы. в результате как бы не добавляли строки - итого всегда имеет правильные имена. Все заявки кидались в каталоги... Март, апрель и т..д. Итоговый Эксель сканировал каталог - открывал файл - брал параметры и выводил в отчет... Дешево и сердито. В конторе 3 тела, вся автоматизация дальше экселя не пошла, а бизнес работает.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2010, 11:47 |
|
||
|
Разработка БД на основе существующей БД и Excel файлов
|
|||
|---|---|---|---|
|
#18+
Программист-Любитель, А можно немного поподробне, какие грабли могут возникнуть? (чтобы мне аргументировать тупиковость решения и необходимость реализации через удаленный доступ (+/- так сказать)). И правильно ли я понимаю, что вы предлагаете реализовать некоторое клиентское приложение (Windows, Web), через которое будет удаленно вводится информация о Пользователе (вместо Excel файлов) и сохранятся в БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2010, 11:55 |
|
||
|
Разработка БД на основе существующей БД и Excel файлов
|
|||
|---|---|---|---|
|
#18+
Если будете возиться с файлами россыпью, 95% трудозатрат будет уходить не на прикладной функционал и бизнес-логику, а на рутинное обслуживание этого хозяйства. Получение файлов, хранение, контроль структуры, самодельная репликация (в части извлечения в общее хранилище) устанение конфликтов и т.д. и т.п. Кстати, иметь ключом ФИО - категорически нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2010, 12:42 |
|
||
|
Разработка БД на основе существующей БД и Excel файлов
|
|||
|---|---|---|---|
|
#18+
kotoff_sobaka, получается, что Йексель играет для вас роль типа приложения, в котором юзера готовят файлы для Вас. Но тада приложение должно "знать" про Вашу БД, ее структуру. Иначе Вы будете иметь риски получать не одинаковые форматы в Йекселе (а они вообще не реляционные в общем случае): т.е. Вы типа в Йекселе должны что-то налабать, чтобы ограничить фантазии юзеров, либо при приеме в БД кажный файл проверять, что-то подкручивать. Но Йексель вряд ли хорошо подходит для написания приложений по измекнению данных в БД - лет 10 назад видел таковых типа клиентов к БД, а самому проверять кажный раз - какая же это автоматизация? Гемор это галимый. Для чтения данных из БД и там всякого анализа Йксель не плох. Но как прога для изменения данных в БД, он скорей всего не замышлялся авторами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2010, 12:43 |
|
||
|
Разработка БД на основе существующей БД и Excel файлов
|
|||
|---|---|---|---|
|
#18+
Спасибо всем, наставили на путь истинный! Решение с удаленным доступом, думаю, наилучшее... Проще сейчас сесть и накопившиеся excelники через Web формы загрузить в БД и дальше жить без проблем, чем гемороиться все время жизни проекта. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2010, 12:58 |
|
||
|
Разработка БД на основе существующей БД и Excel файлов
|
|||
|---|---|---|---|
|
#18+
kotoff_sobakaПроще сейчас сесть и накопившиеся excelники через Web формы загрузить в БД и дальше жить без проблем, чем гемороиться все время жизни проекта. Спасибо! Веб формы ни при чем. MS SQL умеет забирать самые разные данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2010, 13:10 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36820935&tid=1542568]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
210ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 544ms |

| 0 / 0 |
