Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Всё-таки: как решить такую проблему миграции с MSSQL на DB2
|
|||
|---|---|---|---|
|
#18+
На MS SQL есть неумело сделанная база, которая хорошо ли, плохо ли, но прослужила некоторое время. Сейчас осуществляется переход на DB2 и стоит задача перенести данные из старой базы. Структура таблиц уже создана в DB2 вручную - поскольку многое изменялось по сравнению с существующей структурой - тип полей, какие-то убрались, какие-то добавились. Просто нужно те поля, что есть, перенести AS IS. А те, где изменен тип (к примеру, в MS SQL yes/no varchar(3) заменен на 1/0 smallint и т.п.), перенести каким-то другим способом... Неужели это возможно только в мечтах? :( Хотелось бы вручную "отображать" поле X исходной базы на поле Y целевой базы, с возможностью указывать формулы преобразования... А MTK пытается создать новую таблицу, где все типы полей указаны в соответствии с mapping... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 15:10 |
|
||
|
Всё-таки: как решить такую проблему миграции с MSSQL на DB2
|
|||
|---|---|---|---|
|
#18+
NafigatorХотелось бы вручную "отображать" поле X исходной базы на поле Y целевой базы, с возможностью указывать формулы преобразования... А MTK пытается создать новую таблицу, где все типы полей указаны в соответствии с mapping... А чем MSSQL не устраивает? Советую придерживаться MS SQL. Ибо http://www.google.ru/search?q=%D0%BF%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0+mssql http://www.redbooks.ibm.com/abstracts/SG246672.html?Open ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2006, 17:20 |
|
||
|
Всё-таки: как решить такую проблему миграции с MSSQL на DB2
|
|||
|---|---|---|---|
|
#18+
IBM MTK - Migration Tools Kit. Бесплатная программа для перекачки структуры и данных. Частично умеет распознавать триггеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2006, 22:18 |
|
||
|
Всё-таки: как решить такую проблему миграции с MSSQL на DB2
|
|||
|---|---|---|---|
|
#18+
Usual Suspect А чем MSSQL не устраивает? Советую придерживаться MS SQL. Я бы лично рад остаться на MS SQL - там меня всё устраивает :) Но клиент не хочет продолжать платить за лицензию MS SQL большие деньги, а с IBM у них партнерские отношения и соответственно DB2 - почти бесплатна... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 10:45 |
|
||
|
Всё-таки: как решить такую проблему миграции с MSSQL на DB2
|
|||
|---|---|---|---|
|
#18+
galsIBM MTK - Migration Tools Kit. Бесплатная программа для перекачки структуры и данных. Частично умеет распознавать триггеры. Этим тулом и пользуюсь, но там задается жесткое соответствие типов, в соответствии с этим mapping оно всю структуру и преобразовывает :( Недостаточно гибко. Т.е. если varchar <-> varchar, то и преобразует так и никак иначе. Я вижу лишь один выход. Сделать 2 базы на db2: одна - результат преобразования, а вторая - пустая, с "правильными" типами. И уже потом вторую базу заполнить из первой в соответствии со своими пожеланиями преобразования типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 10:48 |
|
||
|
Всё-таки: как решить такую проблему миграции с MSSQL на DB2
|
|||
|---|---|---|---|
|
#18+
В MTK не обязательно создавать базу данных на DB2. Вы можете запустить операцию экспорта данных из MS SQL. После этого, с помощью bat-файлов залить данные в вашу БД. Если честно, я тоже столкнулся с проблемой переконвертации данных. Первое решение было: 1) таблицы без сложной конвертации данных перенести с помощью MTK; 2) написать программу переливания данных между оставшимися таблицами. Второе решение: После появления пункта 2 предыдущего решения был написан свой набор конверторов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 17:15 |
|
||
|
Всё-таки: как решить такую проблему миграции с MSSQL на DB2
|
|||
|---|---|---|---|
|
#18+
SQLWays Я когда-то им удачно воспользовался, тоже переносил из MSSQL в DB2. SQLWays тогда был триальный, на две, что ли, недели, хватило пары часов разобраться-поэксперементировать и на ночь оставить перенос... :) Сейчас не знаю, наверное, до сих пор триал на некоторое время, чего им менять-то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:30 |
|
||
|
Всё-таки: как решить такую проблему миграции с MSSQL на DB2
|
|||
|---|---|---|---|
|
#18+
gals, а как у вас обстояли дела с преобразованием uniqueidentifier-полей? Осуществляет ли MTK однозначное преобразование "широких" ключей MS SQL в "узкий" родной формат DB2? У нас во всех таблицах используются uniqueidentifier-ключи и, конечно, хотелось бы аккуратно преобразовать их в db2-шный урезанный формат однозначно, юзая затем для вставки новых записей стандартный generate_unique() или же вставить все ключи как char(36), а затем вместо generate_unique использовать какой-то UDF-ный заменитель MS SQL-ного newid() (кстати, неплохо бы найти алгоритм, по которому работает newid, чтобы скопировать его) Roman Pankov, спасибо - гляну, что за "зверь"... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 16:34 |
|
||
|
Всё-таки: как решить такую проблему миграции с MSSQL на DB2
|
|||
|---|---|---|---|
|
#18+
Упс, редактирование недоступно - написал бред: широкий, узкий... И там, и сям - 16 байт. Просто интересно, как преобразовывает ключи MTK - просто убирает '-' - разделители между цифрами? И сходны ли generate_unique и newid в таком случае? Кстати, у меня не получается проверить вставку данных из MS SQL: как я уже написал в другой теме , у меня .out-файлы с данными почему-то пустые! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 16:39 |
|
||
|
Всё-таки: как решить такую проблему миграции с MSSQL на DB2
|
|||
|---|---|---|---|
|
#18+
Общались с IBM: говорят, что uniqueidentifier переносят в поля char(32). Вот. Черт, почему же не создаются out-файлы! bat-файлы заполнения базы ссылаются на out-файлы, а их нету! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 17:19 |
|
||
|
Всё-таки: как решить такую проблему миграции с MSSQL на DB2
|
|||
|---|---|---|---|
|
#18+
В своей базе данных, мы не использовали поля uniqueidentifier от MS SQL. У меня немного специфическая задача. Имеется распределенная система. Обмен документами не должен зависеть от конкретной реализации СУБД. Поэтому жестких привязок на специфические типы данных СУБД нет. Теперь о переносе данных. При переносе с одной СУБД на другую, вы сохраняете названия таблиц и полей. В Java JDBC есть задокументированная библиотека работы с метаданными любой СУБД. Вы подключаетесь к обоим БД. Читаете список таблиц в обоих базах. Находите совпадающие названия. Для каждой совпадающей таблицы читаете список полей. Так же строите соответстви в названиях. Что у нас остается? Остается сделать приведение типов данных от MS SQL в DB2. Зная названия таблицы и названия полей, в программе можно сгенерировать два запроса - один SELECT, для MS SQL, другой INSERT для DB2. Последовательно читаем содержимое таблицы из MS SQL, прогоняем его через трансформер данных и вставляем в DB2. Поверьте, за столько дей, сколько Вы обсуждаете эту проблему, можно было уже написать такой конвертер и прогнать через него не одну базу данных. При учете того, что в DB2 мы предусмотрительно не внесли описание FOREIGN KEY и индексов, скорость переливания данных будет приемлемой. После процедуры переливания данных создаем необходимые FOREIGN KEY и индексы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 15:45 |
|
||
|
Всё-таки: как решить такую проблему миграции с MSSQL на DB2
|
|||
|---|---|---|---|
|
#18+
gals: пока я тут вопрос обсуждал - я уже вручную всё сделал :) А переносить данные не понадобилось - тут вообще на словах трудно объяснить, но клиент не сформулировал задачу чётко. А конвертер... на чем сам конвертер-то написан? java? Я не программирую на java... И с jdbc не работал... Так что Ваша информация была для меня совершенно новой. Но всё равно спасибо, может пригодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 13:53 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=34153851&tid=1604943]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 375ms |

| 0 / 0 |
