Russian Qt Forum
Ноябрь 23, 2024, 18:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: копирование таблиц между базами  (Прочитано 4451 раз)
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« : Январь 17, 2013, 12:15 »

требуется регулярно синхронизировать базы-одна на MySql, вторая в Access. Можно ли копировать таблицы не так:
Код:
while(query_mysql.next)
{ insert into tab_access(f1,f2...) values(<query_mysql.value(0)>,<query_mysql.value(1)>,...) }
, а что-то типа
Код:
insert into база1.to_table select * from база2.from_table 
? А то очень долго все это получается, а как увязать в одном запросе обе базы, я так и не понял...
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #1 : Январь 17, 2013, 12:32 »

Простой ответ - нет.
Для того, чтобы такой SQL работал, нужно, чтобы одна СУБД "знала" о существовании другой и умела оттуда получать данные.
Для обеспечения максимального быстродействия я бы сначала первым запросом выгружал все данные из базы2 во внешний файл, а потом вторым делал BULK INSERT из этого файла в таблицу базы1.
Записан
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #2 : Январь 17, 2013, 13:33 »

спасибо за идею! буду думать
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #3 : Январь 17, 2013, 17:28 »

еще вопрос (чтобы не плодить темы): если .mdb-файл лежит на Debian-сервере, то может ли программа, написанная на Qt, и лежащая рядом, работать с таблицами этого .mdb? Пол-дня гуглю, совсем запутался. А у самого при попытке подключиться в этих условиях пишет, что не найден драйвер ODBC. Вот и в раздумьях: то ли я что-то не так сделал, то ли это вообще не возможно  Непонимающий
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #4 : Январь 18, 2013, 15:39 »

Т.е. программа Qt запускается из-под Linux и хочет получить доступ к mdb? Боюсь без коммерческих ODBC драйверов не обойтись (например, от easysoft).
« Последнее редактирование: Январь 18, 2013, 15:42 от xokc » Записан
Nimbus
Гость
« Ответ #5 : Январь 20, 2013, 09:55 »

Т.е. программа Qt запускается из-под Linux и хочет получить доступ к mdb? Боюсь без коммерческих ODBC драйверов не обойтись (например, от easysoft).
Что ж вы такое говорите, сударь? unixODBC ещё жив!
Записан
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #6 : Январь 21, 2013, 09:24 »

Цитировать
unixODBC ещё жив!
. Я его установил, isql показал, что
Цитировать
Connected!
, SELECT выполняется. А вот из Qt-программы SEGMENTATION FAULT и вылетает на строке db.open()!  Плачущий
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 23.