Вопрос № 56202: Добрый день уважаемые эксперты.
Прошу помощи.
Есть две базы A.gdb и B.gdb
Сервер Firebird.
Нужно из одной таблицы (Name_Arc) базы A.gdb перегнать в другую таблицу (Name_Arc) в базе B.gdb
Если бы таблицы были в одной базе...
Вопрос № 56.202
Добрый день уважаемые эксперты.
Прошу помощи.
Есть две базы A.gdb и B.gdb
Сервер Firebird.
Нужно из одной таблицы (Name_Arc) базы A.gdb перегнать в другую таблицу (Name_Arc) в базе B.gdb
Если бы таблицы были в одной базе, то я бы делал так:
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('INSERT INTO Name2_arc');
IBQuery1.SQL.Add('SELECT * FROM Name1_arc');
IBQuery1.SQL.Add(' where (Date2 BETWEEN "'+Dat1+'" AND "'+Dat2+'") ');
IBQuery1.ExecSQL;
Подскажите, как можно осуществить переброс данных из разных баз.
Отвечает: Архангельский Андрей Германович
Здравствуйте, Алексеев Александр Владимирович!
Я все перебросы делаю через SQL-скрипты
В одной БД пишешь функцию, которая сохраняет данные в скрипте нужного вида, например, того который ты привел, а затем вгоняешь этот скрипт во вторую БД с помощью программы isql.exe (лежит в каталоге bin)
Этим способом можно перестраивать структуру данных и проверять ошибки данных
--------- Если дело заслуживает быть сделаным, то оно заслуживает чтобы его сделали ХОРОШО
Отвечает: Игорь Елизаров
Здравствуйте, Алексеев Александр Владимирович!
Наверное самый первый шаг - импортировать данные из одной базы в другую
Позволяет Firebird напрямую копировать между базами ?
если нет, то тогда экспортировать нужную таблицу например в файл ACCESS
и потом импортировать в нужную базу
Ну а потом уже тем самым запросом объединить данные двух таблиц.
С уважением, Игорь
Ответ отправил: Игорь Елизаров (статус: 6-ой класс)
Ответ отправлен: 21.09.2006, 12:43