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

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

Как скопировать таблицу из одной БД в другую ? [D6, IB5.x, MSAccess]


Slider007 ©   (2004-01-14 08:16:00) 

Здравствуйту уважаемые программисты !
Я являюсь новичком в разработке БД, по этому у меня возник такой вопрос (возможно совсем не сложный):
У меня есть ТаблицаА в InterBase5.6 и ТаблицаБ в MSAccess2002, обе таблицы идентичной структуры.
Мне надо полностью скопировать таблицу из InterBase в Access. Как мне это сделать средствами SQL? К InterBase я подключаюсь с помошью компонентов из закладки "InterBase" на палитре компонентов, а к MSAccess подключаюсь через ADO с помощью провайдера "Microsoft.Jet.OLEDB.4.0"
Пробовал копировать таблицу построчно, используя конструкцию

while not IBQuery.Eof do
begin
AccessADOQuery.InsertRecord([IBQuery.Fields[0].AsString, IBQuery.Fields[1].AsString]);
IBQuery.Next;
end;

но так как в ТаблицеА у меня 130000 записей этот процесс затягивается минут на 20 :( .
Если вы знаете ещё какой-нибуль способ побыстрее скопировать таблицу поделитесь пожалуйста.


Slider007   (2004-01-14 13:54:00) [1]

Скачал новый EasySoft - всё получилось, всем большое спасибо кто ответил :)


Slider007   (2004-01-14 12:02:00) [2]

Кщд !
С Easysoft у меня трабла - я делаю импорт из интербейза - ввожу путь к БД, логин, пароль - TestConnection успешно проходит,а когда жму кнопку OK - он мне выдает :
ODBC Call--falled
your user name and password are nod defined ...
Может это потому что InterBase у меня 5.6, а драйвер для шестого (шел вместе с дистрибутивом Дельфи) ?


Кщд   (2004-01-14 10:53:00) [3]

Slider007 © (14.01.04 09:55) [5]
так найди другой ODBC драйвер для IB.
у меня - Easysoft IB ODBC
а вообще - Desdechado © (14.01.04 10:37) [7]


Desdechado   (2004-01-14 10:37:00) [4]

БДЕ позволяет использовать запросы сразу к нескольким БД (даже разных серверов)


Vemer   (2004-01-14 10:33:00) [5]

В комплекте с D идет DataPump. Для однократного /редкого переноса подходит. Для постоянного переноса (GDB-GDB правда) собственную прогу-насос написал + контрольно-флаговые поля для надежности. Муторно немного по написанию, зато потом работает нормально.


Slider007   (2004-01-14 09:55:00) [6]

Кщд !
я нашел такую штуку которая называется Gemini InterBase ODBC, но она платная - через неё всё работает, но на странице с которой скачивал сказали что через месяц работать откажется, что делать ?


Кщд   (2004-01-14 09:32:00) [7]

1. да ну
2. думается, через ODBC


Slider007   (2004-01-14 09:13:00) [8]

Возникает 2 вопроса:
1) Через BDE я вообще не смог к Аксессу подключиться, только через ADO.
2) Как прилинковать к Аксесс базе таблицу из IB5 ?


sniknik   (2004-01-14 08:53:00) [9]

запросом, или через BDE и алиасы (позволяет их в запрос втавлять), либо из аксесса, если сможеш прилинковать к аксес базе таблицу из IB5 то получится. причем если получится с линкованной таблицей то можно будет попробовать избавится и от линковки (вставлять ее в запрос).
поиши пока как делается, попробуй, а мне на работу пора.


Slider007   (2004-01-14 08:46:00) [10]

Да ! Забыл сказать:
Я хотел использавть запрос вида
INSERT INTO ТаблицаБ SELECT * FROM ТаблицаА,
но не знаю как его правильно написать применительно к моей ситуации, и вообще будет ли работать запрос такого вида в данной ситуации


Наверх

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