Кто-нибудь сталкивался с необходимостью переноса схемы
из одной субд в другую? Скажем, к примеру, из Oracle 8i в
MSSQL 2К? Предполагается, что перенос несовместимых по
синтаксису вьюшек, хранимых процедур и триггеров будет
выполнен "ручками", задачей является перенос таблиц, данных,
создание индексов и констрейнтов (несовместимые check-и
так же пропускать, создавать только совместимые).
DTS не устраивает, т.к. переносятся только таблицы и данные,
а индексы и констрейнты нет. ;-(
Здравствуйте Sanito, Вы писали:
S>Привет всем!
S>Кто-нибудь сталкивался с необходимостью переноса схемы S>из одной субд в другую? Скажем, к примеру, из Oracle 8i в S>MSSQL 2К? Предполагается, что перенос несовместимых по S>синтаксису вьюшек, хранимых процедур и триггеров будет S>выполнен "ручками", задачей является перенос таблиц, данных, S>создание индексов и констрейнтов (несовместимые check-и S>так же пропускать, создавать только совместимые).
S>DTS не устраивает, т.к. переносятся только таблицы и данные, S>а индексы и констрейнты нет. ;-(
Можно использовать ERwin.
Сначала делаешь Reverse Engineering из Oracle, получаешь структуру БД
Затем делаешь Alter Database для сервера MSSQL 2K.
Здравствуйте Sanito, Вы писали:
S>Привет всем!
S>Кто-нибудь сталкивался с необходимостью переноса схемы S>из одной субд в другую? Скажем, к примеру, из Oracle 8i в S>MSSQL 2К? Предполагается, что перенос несовместимых по S>синтаксису вьюшек, хранимых процедур и триггеров будет S>выполнен "ручками", задачей является перенос таблиц, данных, S>создание индексов и констрейнтов (несовместимые check-и S>так же пропускать, создавать только совместимые).
S>DTS не устраивает, т.к. переносятся только таблицы и данные, S>а индексы и констрейнты нет. ;-(
Я знаю три способа
insert into ...select from
select into
и
Bulk insert
В первых двух случаях сервер необходимо прилинковать.
Re[2]: Перенос схемы
От:
Аноним
Дата:
30.07.02 08:30
Оценка:
Здравствуйте SergeMS, Вы писали:
SMS>Можно использовать ERwin. SMS>Сначала делаешь Reverse Engineering из Oracle, получаешь структуру БД SMS>Затем делаешь Alter Database для сервера MSSQL 2K.
Это конечно выход, только вот стоимость ErWin довольно высока ;-))
В общем, могу сказать, что не устраивает этот вариант.
К сожалению.
Re[2]: Перенос схемы
От:
Аноним
Дата:
30.07.02 08:33
Оценка:
Здравствуйте Алекс, Вы писали:
А>Я знаю три способа А>
А>insert into ...select from
А>
А>
А>select into
А>
А>и А>
А>Bulk insert
А>
А>В первых двух случаях сервер необходимо прилинковать.
Поподробнее пожалуйста.
Что есть параметр команды insert into ... ?
БД?
Т.е. я могу, используя эту команду, перенести, скажем, 10 таблиц,
перенести их данные, создать _зеркальные_ относительно БД-источника
индексы и ссылочные ограничения?
[]
А>Поподробнее пожалуйста. А>Что есть параметр команды insert into ... ? А>БД? А>Т.е. я могу, используя эту команду, перенести, скажем, 10 таблиц, А>перенести их данные, создать _зеркальные_ относительно БД-источника А>индексы и ссылочные ограничения?
А>По-моему кто-то кого-то не понял
Табличку можно перенести и с помощью DTS (визард "Import/Export",
входящий в состав SQL Server Client), либо с помощью DataPump
из Delphi.
Речь же идет о наиболее полном переносе схемы. В частности, как
я уже писал, это индексы и внешние ключи. Кроме того, есть еще
проблема ограничений на размер имени в различных СУБД (в частности,
Oracle имеет ограничение 30 символов на размер идентификатора).
Хорошо бы их обрезать.
Я пытаюсь найти что-то похожее, что кто-то уже делал. Просто писать
самостоятельно довольно долго и сложно — можно замахаться с
тестированием. Пока, кроме ErWin, ничего, подходящего по
функциональности, не обнаружил. Но это не подходит, т.к. эта
"утилита" должна входить в поставку некоторого продукта, так что
erwin отпадает.