Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите идею запроса, Как граммотно построить приложение? 
:(
    Опции темы
kulikoff
Дата 26.12.2005, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 5.11.2005
Где: Киев

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



Подскажите, как лучше реализовать такую задачу: каждый день происходит экспорт данных из dbf-файла в СУБД Oracle. с самим экспортом уже разобрался smile . Теперь такой вопрос - как лучше мне сделать так, чтоб при попытке загрузить в Oracle ранее загруженный dbf-файл программа выдавала предупреждение и при необходимости была возможность ещё раз его загрузить?
Я тут надумал такое: при экспорте данных в Оракл в дбф-файл в одно из полей (оно не используется) добавлять какой-нибудь код (символ или группу символов). Тогда при попытке записать из дбф-файла в Оракл, сначала выполняется запрос на проверку на наличие в этом файле в заданном поле определенной последовательности символов (слово какое-то, например), то тогда выводится предупреждение и какой-то переменной присваивается код, допустим 1. Если такой последовательности нет - код 2. Если код 1 - то при продолжении работы из таблицы в Оракле удаляются записи того экспорта (дата, когда этот экспорт состоялся, думаю должен вводиться пользователем) по дате его создания, после выполняется запрос на вставку новых значений в таблицу Оракла и обновление дбф-файла, т.е. добавления ключевого слова в заданное поле. При 2 - всё то же самое, только никакие записи из Оракла не удаляются...
И ещё, необходимо, крайне редко, но надо предусмотреть, что в один один может грузиться два дбф-а, и их необходимо различать, тут просто датой загрузки не обойтись... Как бы это решить не вводя дополнительное поле в таблицу Оракла, усложняя тем самым себе жизнь?
Понимаю, вопрос ёмкий, нопрошу помочь, вдруг кто знает более оптимальные пути решения этой задачи?
PM MAIL WWW ICQ Skype   Вверх
mspuz
Дата 28.12.2005, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



kulikoff У меня была подобная задача, но у меня имелось поле с уникальными номерами и при загрузке проверялась каждая запись по уникальному номеру. А про последнее я не особо понял - тебе нужно позволить загрузить 2 одинаковых dbf'ника???
PM MAIL   Вверх
kulikoff
Дата 28.12.2005, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 5.11.2005
Где: Киев

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



нет, просто в один день может быть два разных dbf'ника, при этом их надо как-то различать (тут я думаю про идентификацию по датам загрузки - слабое место), но такая ситуация возникает исключительно редко (не чаще нескольких раз в год). Вот и думаю, или создавать ещё одно поле, куда будет записываться ещё какой-то номер?
А про уникальное поле - у меня есть такое, там просто инкремент для строк стоит, может его как-то использовать?
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


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

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


 




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


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

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