автоматическое подключение к вновь созданной таблице на Ms Sql Server

  • Автор темы senyerita
  • Дата начала
S

senyerita

День добрый!!!
Каждый месяц в бд на ms sql server 2005 загружается таблица. Имя ее формируется по принципу: название таблицы,нижний прочерк, дата(но не дата загрузки ,а просто каждый раз разная дата) Пример: lpu_12012009.
А старая таблица с тем же именем но со старой датой удаляется.
Пишу клиентское приложение на Delphi7. Для доступа к базе использую ado. К таблице -adoTable.
Как сделать так, чтобы пользователю не нужно было указывать каждый раз к какой таблице присоединяться, а просто чтобы в свойство tableName adotable автоматически прописывалась таблица ,начинающаяся с имени lpu?
 
E

etc

Не надо заниматься такой ерундой, ввиде создания-удаления таблиц, и все встанет на свои места.
 
S

senyerita

какие в таком случае есть предложения?
 
E

etc

А какие еще могут быть предложения? ... суть баз в первую очередь закл. в хранении данных и оперирования над ними.
Вот и делайте это, а структуру менять - это самый распоследний случай, когда уже подругому ну никак ...
Мне не встречалось еще такого случая.

таблица должна быть одна и без выкрутасов с именем. А вот с данными в ней вы вправе поступать как велит разум.
т.е. если вам надо хранить историю, то и добавте одно-пару полей и т.д., если история неинтересна, то делете фром табле и все дела.

а структуру менять
добавлю ... а структуру менять - еще и необходимо иметь соотв. права, и раздавать высокие права на право и на лево - тоже чревато ...
 
S

senyerita

Дело в том что таблицы в базе каждый месяц меняться должны....старые базы будут бэкапится и хранится в качесстве истории...
Может быть я и не права, но мне кажется что нецелесообразно добавлять каждый месяц по полтора миллиона записей в каждую из 10 таблиц и потом работать с этим огромным количеством данных.
Если что не так ,направьте меня на путь истинный)
Заранее спасибо!
 
E

etc

.
Дело в том что таблицы в базе каждый месяц меняться должны
кто кому чего должен?
Может быть я и не права
абсолютно. вы вправе делать как вам заблагоросудится ... я лишь говорю что это тупик.
Если надо бэкапить, ну сделайте 2 таблицы, 1 рабочая, 2 бэкап, и перед импортом переливайте данные из 1 в 2, потом импортить в 2. и это статика структуры
старые базы будут бэкапится и хранится в качесстве истории...
а это совсем непонятно, если сами базы бэкапяться, то в чем прикол разных таблиц? вощем мне совсем ничего не понятно, кроме того что - что-то нетого в королевстве.
 
S

senyerita

Просто я первый раз сталкиваюсь с такой задачей,и не знаю с какой стороны подойти....
Постараюсь объяснить более подробно:
Каждый месяц к нам в организацию из разных других организаций поступает информация в виде таблиц dbf и xls о льготниках,врачах,лекарствах и т.д. и т.п. Наша организация в свою очередь эти данные обрабатывает,приводит к надлежащему виду и передает ее для дальнейшего использования в другие организации.
Насчет прав беспокоиться не стоит, потому что пользователей у всей этой системы будет максим 3.
Довольно таки большое количество записей в передаваемых таблицах каждый месяц может совпадать с записями таблиц предыдущего месяца.
Все эти данные нужно сверять с другим имеющимися источниками. Т.е. должна присутствовать проверка на достоверность. и еще много много всего.
В основном надо работать с данными за текущий месяц,но может понадобится обратиться к предыдущим месяцам.
Я думала, что будет проще каждый раз заносить новые таблицы, а старую базу просто откладывать, и при необходимости возвращаться к ней.
Я даже уже придумала как это сделать.
 
E

etc

Я ж вам говорю, все это ненужно. 1 максимум 2 таблиц достаточно. Весь этот зоопарк с таблицами вам потом боком вылезит ...
 
B

BurcevD

Присоединяюсь к колеге, создайте две таблицы с одинаковыми структурами, за одним исключением, в таблице истории поставьте поле "ДАТА" где будет храниться рабочая дата записи, на момент ее использования и все! И вам легко по периодам скакать и нет необходимости плодить таблицы.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!