Страница 1 из 1
Firebird: Нужно скопировать таблицу из одной базы в другую
Добавлено: 23 авг 2006, 17:03
Mechanic
Всем привет!
Такой вопрос... Есть две базы firebird (на одной машине естественно).. Мне нужно скопировать таблицу из одной базы в другую... желательно sql-запросом... На MSSQL я бы использовал что-то вроде
SELECT *
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=ServerName;User ID=MyUID;Password=MyPass'
).Northwind.dbo.Categories
для того чтобы выбрать данные с другого сервера.. а потом бы вставил их в мою таблицу... Если сервер один и тот же, то там вообще нечего делать.
С firebird же не знаю как поступить... вроде задача должна же как-то решаться...
Добавлено: 23 авг 2006, 17:21
kdv
если работаешь в IBExpert, он это умеет. 2 алиаса создал, и все.
если в приложении - то никак. коннект к нужным базам, из одной читаешь, в другую пишешь.
Добавлено: 23 авг 2006, 17:29
Mechanic
kdv писал(а):если в приложении - то никак. коннект к нужным базам, из одной читаешь, в другую пишешь.
жалко
Добавлено: 23 авг 2006, 19:14
Mechanic
А не подскажете, провайдер для firebird под mssql такой:
LCPI OLE DB Provider for InterBase [v2]
???
Или какой-то свой используется?
Добавлено: 24 авг 2006, 10:37
kdv
хороший провайдер, фактически единственный, который имеет смысл использовать. насчет "какой-то свой" - не понял вопроса.
Добавлено: 24 авг 2006, 13:26
Ivan_Pisarevsky
external table
Добавлено: 31 авг 2006, 12:19
Коваленко Дмитрий
kdv писал(а):если в приложении - то никак. коннект к нужным базам, из одной читаешь, в другую пишешь.
Подожди, как это "никак" ?
Регистрируешь на MSSQL-е два связанных сервера и вперед
http://www.ibprovider.com/rus/examples/example_15.html
Правда я такое копирование сто лет как не тестировал и из программы ниразу не пробовал.
Добавлено: 31 авг 2006, 12:37
WildSery
Автор зажигает.
"Я селектом получаю данные из одной базы, а
затем вставляю в другую..."
Вот если бы сразу
Код: Выделить всё
insert into DB2.DESTINATION
select * from DB1.SOURCE
тогда бы вопрос был обоснованным, а так - какая тебе разница, в какую базу вставлять, если ты уже получил данные?
Стоит обратить внимание на фунцию
TFIBQuery.ExecWPS, подходит для таких "переливок" как нельзя лучше.
Добавлено: 31 авг 2006, 13:12
Коваленко Дмитрий
WildSery писал(а):Автор зажигает.
Вот если бы сразу
Код: Выделить всё
insert into DB2.DESTINATION
select * from DB1.SOURCE
тогда бы вопрос был обоснованным
Нут так вот напрямую, наверное, нельзя. А вот так
Код: Выделить всё
insert into DB2...DESTINATION
select * from DB1...SOURCE
скорее всего, можно
WildSery писал(а):Стоит обратить внимание на фунцию TFIBQuery.ExecWPS, подходит для таких "переливок" как нельзя лучше.
Тут я обнаружил, что автор и на RSDN мусорил, поэтому приведу только ссылку
http://www.rsdn.ru/Forum/?mid=2073028