Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Добавление данных из одной таблицы в другую


Страницы:   1 2

Raduga ©   (2003-10-29 10:28:00) 

Здравствуте, Мастера.
Есть два совершенно одинаковых mdb-файла (названия только разные). Предполагается один использовать для записи текущих данных в таблицу, например за день. А второй как архив. Так вот,
Есть ли механизмы для "дописывания" таблиц из одного файла в другой. Использую ADO.


Raduga   (2003-10-29 12:23:00) [1]

Кстати, используя не jet быстродействие заметно уменьшается.
И могут возникнуть проблемы при переносе приложения на другие машины, я так думаю. Так что енто палка о двух концах...

Огромное спасибо за помощь и наставления на путь истинный :).


Vlad   (2003-10-29 12:18:00) [2]

>Raduga (29.10.03 12:12) [21]
Родной конечно, но у них есть общий "папа" - это майкрософт,
так что все они родня друг другу.
Но я подчеркну, что это лишь один из вариантов. Никто не мешает действительно сделать линк на другую таблицу. Никто не мешает также сделать 2 query, каждый из которых будет смотреть на свою базу, тогда jet вполне подойдет.


Raduga   (2003-10-29 12:12:00) [3]

>Vlad © (29.10.03 11:59) [19]
Так Jet же родной для мдбшников. Вот и использую.

>Anatoly Podgoretsky © (29.10.03 11:59) [20]
>А тебя что то сдерживает применить другого провайдера, для выполнения данной операции?
Т.е. работать с jet, а для выполнения данной операции применить
тот же MSDASQl?


Anatoly Podgoretsky   (2003-10-29 11:59:00) [4]

Vlad © (29.10.03 11:44) [15]
Естественно, речь про конкретного провайдера не стоя, а только поддерживает ли АЖО гетерогенные запросыю
[11] и [12] подтверждение этого.

Raduga (29.10.03 11:42) [14]
А тебя что то сдерживает применить другого провайдера, для выполнения данной операции?


Vlad   (2003-10-29 11:59:00) [5]

>Raduga (29.10.03 11:57) [18]
А что с аксессовскими файлами разве только Jet работает ? :))
ODBC уже отменили ?


Raduga   (2003-10-29 11:57:00) [6]

>Vlad © (29.10.03 11:51) [17]
Так файлы то Access-овсие .


Vlad   (2003-10-29 11:51:00) [7]

Стандартный майкрософтовский OLE DB-шный провайдер


Raduga   (2003-10-29 11:46:00) [8]

>Vlad © (29.10.03 11:44) [15]
Так я в качестве провайдера Jet использую.
А что это за провайдер MSDASQL че-то уменя его нет (ADoConnection-> Provaider)


Vlad   (2003-10-29 11:44:00) [9]

>Raduga (29.10.03 11:42) [14]
Так это значит Jet не поддерживает гетерогенные запросы.
Мы вроде об ADO говорили...


Raduga   (2003-10-29 11:42:00) [10]

>Vlad © (29.10.03 11:35) [12]
А с jet-ом не работает.


Anatoly Podgoretsky   (2003-10-29 11:37:00) [11]

Ну тогда никаких проблем, стандартный SQL, раз гетерогенные запросы поддерживаются.


Vlad   (2003-10-29 11:35:00) [12]

Вот ConnectionString:
Provider=MSDASQL.1;Persist Security Info=False;Data Source=Access;Initial Catalog=c:\db1.mdb

Использую D5, ADO без всяких апдейтов и сервиспаков.


Vlad   (2003-10-29 11:33:00) [13]

>Raduga (29.10.03 11:21) [10]
Только что специально проверил - вот этот пример работает
insert into "c:\db2.mdb".table1
select * from "c:\db1.mdb".table1


Raduga   (2003-10-29 11:21:00) [14]

>Vlad © (29.10.03 10:56) [6]
Напрягите пожалуйста память, а то что-то она вам изменяет :)
Выдается ошибка "Синтаксическая ошибка в запросе. Неполное предложение запроса"


Anatoly Podgoretsky   (2003-10-29 11:13:00) [15]

Может быть, потому и спрашиваю, но неоднакратно слышал только противоположное


Vlad   (2003-10-29 11:06:00) [16]

>Anatoly Podgoretsky © (29.10.03 10:58) [7]
Клянусь - сам такое делал не так давно:)


Anatoly Podgoretsky   (2003-10-29 10:58:00) [17]

А разве АДО поддерживает гетерогенные запросы?


Vlad   (2003-10-29 10:56:00) [18]

А напрямую insert select нельзя? Без использования связи с таблицами.
в ADOQuery пишешь:
insert into "с:\mybase1.mdb".table1 select * from "с:\mybase2.mdb".table2 (если память не изменяет)
Имхо, лучше чем линк, потому как если подлинкованный файл был перемещен, то такую ситуацию в дельфи не обработать, а если без линка, тогда можно вывести диалог с явным указанием пути к файлу.


paul_k   (2003-10-29 10:50:00) [19]


> Как дернуть, поскажите.

как? да так же как эксель или ворд дернуть. Ole, MAPI, закладка Servers в конце концов.
Вот
> Vlad © (29.10.03 10:36) [3]
пишет что линковать не обязательно. Не знаю. сделать 2-3 клика в Acces и не заморачиватся потом на имена файлов по моему проще

> А напрямую insert select нельзя? Без использования связи
> с таблицами.

Наверное можно. но как из дельфи объяснить accessу что сюда смотри, сюда не смотри, а тут рыбу заворачивали - не знаю


Raduga   (2003-10-29 10:44:00) [20]

>Vlad © (29.10.03 10:34) [1]
Архивный файл может порущится, например при сбое по питанию.

>paul_k © (29.10.03 10:34) [2]
А напрямую insert select нельзя? Без использования связи с таблицами.
>сформировать прямо в access запрос на добавление нужных записей и дернуть его снаружи.
Как дернуть, поскажите.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо