|
Переброс данных из разных стороних баз через MS Access
|
|||
---|---|---|---|
#18+
Доброе время суток, Столкнулся с проблемой переброса данных. В данном случаи необходимо перебросить данные таблицы из одной базы IBM DB2 в другую (кросс базные запросы DB2 составить нельзя так как нет соответствующей лицензии и базы находятся в разных местах). Если перетягиваются маленькие таблички, то я создаю прилинкованую таблицу (куда писать. Например: db2_tbl2) и создаю 2ва запроса: Запрос 1 (Pass-Throught query) выбирает нужные данные. Например: Код: sql 1.
Запрос 2 (обычный запрос MS Access) записывает данные в прилинкованую таблицу. Код: sql 1.
Если таблица большая, то MS Access уходит в нирвану на много часов и не всегда выходит. Если использовать инструмент типа Jasper ETL то там он тоже затягивает данные к себе (как MS Access), а потом записывает в нужную таблицу, но делает он это гораздо быстрее. Думаю что разница только в моем "топорном" подходе передачи данных и что как-то можно сделать все тоже самое на MS Access только с использованием VBA кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2017, 10:21 |
|
Переброс данных из разных стороних баз через MS Access
|
|||
---|---|---|---|
#18+
Casper2002Запрос 2 (обычный запрос MS Access) записывает данные в прилинкованую таблицу. А почему не сразу Код: sql 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2017, 10:38 |
|
Переброс данных из разных стороних баз через MS Access
|
|||
---|---|---|---|
#18+
Casper2002, а экспорт-импорт таблички средствами самой IBM DB2, разве, выполнить нельзя? нет, разве, там такого инструментария? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2017, 10:59 |
|
Переброс данных из разных стороних баз через MS Access
|
|||
---|---|---|---|
#18+
Akina, В смысле обычный MS Access запрос вида: Код: sql 1. 2. 3.
Так вроде тоже получается, но тут другой затык выходит - в обычном запросе MS Access я не могу писать запрос на SQL-е DB2, а у меня исходные данные для переноса на самом деле запрос DB2, а не таблица tbl1 в чистом виде. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2017, 11:26 |
|
Переброс данных из разных стороних баз через MS Access
|
|||
---|---|---|---|
#18+
Casper2002у меня исходные данные для переноса на самом деле запрос DB2, а не таблица tbl1 в чистом виде.Ну так заставьте DB2 шустренько серверным запросом у себя, не гоняя данных, слить данные для переноса в требуемых структуре и формате во временную таблицу, потом показанным запросом перелейте данные во вторую БД без трансформаций посередине, а после с чистой совестью прибейте времянку. Сейчас же Вы выволакиваете все эти данные к себе в Access в твёрдую копию - чё б ему не закоматозиться... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2017, 11:39 |
|
Переброс данных из разных стороних баз через MS Access
|
|||
---|---|---|---|
#18+
Akina, Доступ к первой DB только на чтение. Поэтому такой вариант не подходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2017, 14:46 |
|
Переброс данных из разных стороних баз через MS Access
|
|||
---|---|---|---|
#18+
Casper2002Akina, Доступ к первой DB только на чтение... Всё-же не пойму, что мешает выгрузить результаты запроса например в XML, а потом в другую базу импортировать из этого XML? http://www.sql.ru/forum/1152800/vygruzka-dannyh-select-zaprosa-v-xml-i-csv http://www.sql.ru/forum/529982/import-dannyh-iz-xml-fayla-v-tablicu-bazy-dannyh ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2017, 21:03 |
|
Переброс данных из разных стороних баз через MS Access
|
|||
---|---|---|---|
#18+
Т.к. напрямую базы соединить нельзя, то единственный выход - передача данных через промежуточные структуры данных. Если в таблице много строк, то при передаче через Акцесс всего массива сразу можно превысить максимальный размер файла в 2 Гб запросто, т.к. очистка неиспользуемых областей файла данных в Аксе работает очень плохо, база начинает тормозить при приближении к максимальныму размеру файла. Поэтому лучше передавать через внешние файлы, как это предложено выше или можно попробовать копирование данных по частям, допустим, по 1000 строк за раз. Так будет возможность видеть прогресс и работать, думаю, будет быстрее при правильном пользовании индексами. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2017, 09:06 |
|
|
start [/forum/topic.php?fid=45&msg=39476606&tid=1612317]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 321ms |
total: | 441ms |
0 / 0 |