Russian Qt Forum

Qt => Базы данных => Тема начата: Nimbus от Сентябрь 12, 2011, 13:11



Название: Из M$ Access в Oracle
Отправлено: Nimbus от Сентябрь 12, 2011, 13:11
Здравствуйте. Есть задача репликации данных из Access в Oracle. То есть задача сводится к:
  • Открыть .mdb файл через QODBC;
  • Вытащить оттуда список всех таблиц;
  • Выселектить из одной всё во временный буфер;
  • Законнектиться к Ораклу через QOCI;
  • Заинстертить все данные из буфера в оракловую таблицу;
  • И так для каждой таблицы из аксессовой базы.
Причём, имена таблиц и полей в БД в Access'е и Oracle полностью идентичны, так что проблем с маппингом полей не должно быть. Другая проблема может возникнуть именно с типом полей, т. к. есть date и есть blob.
Можно ли это как-то реализовать через QSqlTableModel? То есть перегнать данные из одной модели (Access) в другую (Oracle) без какого-либо маппинга имён таблиц/полей? Ну вот кстати, насчёт имён таблиц, возможно нужно будет добавить имя схемы, в которой лежит таблица.


Название: Re: Из M$ Access в Oracle
Отправлено: cya-st от Сентябрь 12, 2011, 17:51
Цитировать
Можно ли это как-то реализовать через QSqlTableModel?
Зачем тебе QSqlTableModel? Ты что выводить на экран собрался?


Название: Re: Из M$ Access в Oracle
Отправлено: Nimbus от Сентябрь 12, 2011, 18:09
Зачем тебе QSqlTableModel? Ты что выводить на экран собрался?
Ничего, это вообще демон будет крутиться на сервере. Просто я с моделями не работал (каюсь, это плохо), но ведь данные между ними можно же гонять, чтобы малой кровью, так сказать, обойтись?


Название: Re: Из M$ Access в Oracle
Отправлено: Пантер от Сентябрь 13, 2011, 09:01
Тут можно простыми QSqlQuery обойтись. Модели не нужны.