![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Добавление данных из одной таблицы в другую
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 запрос на добавление нужных записей и дернуть его снаружи.
Как дернуть, поскажите.