|
|
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
Здравствуйте ! Как правильно обьединить 2 базы в одну ? В обоих базах есть обьекты(таблицы,процедуры и т.д.) с разными именами, но разной структуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 15:19 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
lionerЗдравствуйте ! Как правильно обьединить 2 базы в одну ? В обоих базах есть обьекты(таблицы,процедуры и т.д.) с разными именами, но разной структуры. перелить структуру и данные, если всё разное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 15:26 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
Выгрузил структуру второй базы в скл-файл, изменяю все DBA на FLAT, чтобы знать что все обьекты принадлежащие FLAT были во второй базе. Вопрос: есть процедура flat.proc, в ней такой текст: Код: plaintext 1. 2. 3. Нужно ли мне менять вышепреведенный запрос в процедуре на такой: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 15:28 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
lioner пишет: > Нужно ли мне менять вышепреведенный запрос в процедуре на такой: > > select * > from flat.account,flat.doc > where flat.account.id=flat.doc.account Да. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 15:29 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
Dim2000 lioner пишет: > Нужно ли мне менять вышепреведенный запрос в процедуре на такой: > > select * > from flat.account,flat.doc > where flat.account.id=flat.doc.account Да. Очень жаль...( А то скл-файл со структурой второй базы получился большой - около 23 тыс строк ... И редактировать его, делая эти изменения... капец... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 15:33 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
lioner пишет: > Очень жаль...( А то скл-файл со структурой второй базы получился большой > - около 23 тыс строк ... И редактировать его, делая эти изменения... > капец... Халтуру всё равно надо исправлять. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 15:39 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
Dim2000 lioner пишет: > Очень жаль...( А то скл-файл со структурой второй базы получился большой > - около 23 тыс строк ... И редактировать его, делая эти изменения... > капец... Халтуру всё равно надо исправлять. Где вы увидели халтуру ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 15:51 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
lioner пишет: > Где вы увидели халтуру ? Владелец таблицы должен быть указан _всегда_. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 16:01 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
Dim2000 lioner пишет: > Где вы увидели халтуру ? Владелец таблицы должен быть указан _всегда_. во второй базе все таблицы принадлежали DBA. Разве вы в запросах всегда пишете dba.[table] ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 16:04 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
Dim2000 lioner пишет: > Нужно ли мне менять вышепреведенный запрос в процедуре на такой: > > select * > from flat.account,flat.doc > where flat.account.id=flat.doc.account Да. Разве надо? Надо попробовать. по моему если коннектиться под flat, все обьекты по умолчанию будут браться от flat. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 16:19 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
lioner пишет: > Разве вы в запросах всегда пишете dba.[table] ? Безусловно и необсуждаемо. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 16:22 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
lionerВыгрузил структуру второй базы в скл-файл, изменяю все DBA на FLAT, чтобы знать что все обьекты принадлежащие FLAT были во второй базе. Вопрос: есть процедура flat.proc, в ней такой текст: Код: plaintext 1. 2. 3. Нужно ли мне менять вышепреведенный запрос в процедуре на такой: Код: plaintext 1. 2. 3. Предположим, что речь идет об ASA :) Поймет. Разумеется, если сама процедура принадлежит FLAT и в тексте процедуры владелец таблицы не прописан явно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 17:41 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
Dim2000 lioner пишет: > Нужно ли мне менять вышепреведенный запрос в процедуре на такой: > > select * > from flat.account,flat.doc > where flat.account.id=flat.doc.account Да. Нет. Если владелец таблицы не указан, то берется владелец процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 18:07 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
lioner пишет: > Автор: "lioner" > Dim2000 > > lioner пишет: > > > Нужно ли мне менять вышепреведенный запрос в процедуре на такой: > > > > select * > > from flat.account,flat.doc > > where flat.account.id=flat.doc.account > > Да. > > > > Очень жаль...( А то скл-файл со структурой второй базы получился большой > - около 23 тыс строк ... И редактировать его, делая эти изменения... > капец... Можете на каждую таблицу создать в базе flat по VIEW типа use flat go create view account as select * from myNewDB.account go Но я бы переделал, конечно. БД flat вам придется в таком случае держать (возможно конечно гораздо меньших размеров). Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 19:20 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
lionerОчень жаль...( А то скл-файл со структурой второй базы получился большой - около 23 тыс строк ... И редактировать его, делая эти изменения... капец... Решение для ASA (для ASE не проверял): 1. Выгружаешь обе базы в файлы (для исходной базы достаточно выгрузить структуру). 2. Пишешь 20 строк парсера на Delphi. 2.1 Парсер проставляет нового владельца для таблиц, вьюшек, процедур, триггеров и сливает их имена в массив. 2.2. Парсер изменяет секцию from в процедурах и триггерах согласно массива из п. 2.1, т.к. при простом разборе велика вероятность напороться к примеру на alias. 3. Прогоняешь оба файла через парсер. 4. Загружаешь всё в единую базу. P.S. Скорость реализации зависит от знаний по работе со строками в Delphi. На PHP можно использовать регулярные выражения (ereg_replace). Однако это в разы быстрее замены вручную. Внимательность написания парсера уменьшает время тестирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2008, 08:15 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
в power designer есть инструмент reverse enginiring, там можно и структуру получить и владельцев поменять и потом скрипты сгенерить. зы. http://ithappens.ru/story/142 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2008, 14:52 |
|
||
|
Обьединение двух БД в одну
|
|||
|---|---|---|---|
|
#18+
blzzв power designer есть инструмент reverse enginiring, там можно и структуру получить и владельцев поменять и потом скрипты сгенерить. зы. http://ithappens.ru/story/142 С PowerDesigner требуется осторожность, т.к. он в некоторых случаях некорректно код генерит. Лучше выгрузить DML скрипты (DB Artisan например умеет) по созданию объектов в файлы и потом написать небольшой парсер на любом языке который Вам более всего знаком. Заодно в процедуры имя владельца таблиц и вьюх добавите :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2008, 16:36 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=35658388&tid=2011283]: |
0ms |
get settings: |
12ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 379ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...