C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
AccessToMySql
Евгений
Отправлено: 21.09.2005, 13:40


Не зарегистрирован







Как мне сделать импорт из Access в Mysql средствами BCB?
avc*
Отправлено: 21.09.2005, 13:52


Не зарегистрирован







DataPump
**Gedeon
Отправлено: 21.09.2005, 13:56


Не зарегистрирован







Или MS DTS
Евгений
Отправлено: 21.09.2005, 15:42


Не зарегистрирован







В смысле? Я имею ввиду программно сделать импорт
AVC
Отправлено: 21.09.2005, 15:50


Ветеран

Группа: Модератор
Сообщений: 1583



Открыть две таблицы (или два запроса) каждую(ый) на свою базу и построчно перенести данные. smile.gif
Евгений
Отправлено: 22.09.2005, 09:37


Не зарегистрирован







Да, тока остаётся одна проблема:) В основной таблице БД содержиться примерно 2млн. записей:( и сбрасывать мне надо 2 раза в сутки. Хотелось бы пограмотнее это сделать. Прбовал сбрасывать через MemoryTable из библиотеки RX, сбрасывается тока числовые поля, а текстовые никак:(
AVC
Отправлено: 22.09.2005, 10:05


Ветеран

Группа: Модератор
Сообщений: 1583



Можно попробовать в Access установить связь с MySQL и из Accessa выполнить запрос на вставку в таблицу MySQL.

А что, 2 млн это действительно число новых(измененных) записей за 12 часов или следствие нпродуманной системы репликации?
Евгений
Отправлено: 22.09.2005, 13:05


Не зарегистрирован







Да это реальное число записей которые нельзя потерять, точнее записи несут информацию о каждом происшествии в системе и генерятся сторонней программой в реальном режиме времени, после чего сбрасываются в архив в виде MS Access. Предоставленный сторонними разроботчиками генератор отчётов не справляется с таким набором данных, что и неудевительно для MS Access smile.gif (собственно и для этого я и перебрасываю данные на mysql и готовлю собственный генератор отчётов)
Евгений
Отправлено: 22.09.2005, 13:13


Не зарегистрирован







Я знаю как импортировать данные из Access smile.gif . Но мне нужно делать это программно т.к. имена файлов условно случайны и сброс надо делать из каждой базы в зависимости от их поступления! (монитор каталога экспоорта у меня уже сделан остаётся дело за импортом в mysql) wink.gif
AVC
Отправлено: 22.09.2005, 13:42


Ветеран

Группа: Модератор
Сообщений: 1583



Ну не знаю. Может мускул поддерживает какой либо импорт?
Вроде может файл с табами. Надо поробовать будет ли это быстрее чем серия Insert. В противном случае альтернативы нет.

QUOTE

Я знаю как импортировать данные из Access

Вопрос не в этом, а в том что при использовании Access'а вместо передаточного приложения можно сэкономить время на выгрузке данных из этой базы. Ведь быстрее Access'а это все равно ни кто не сделает.
Евгений
Отправлено: 23.09.2005, 09:30


Не зарегистрирован







Не факт, я уже говорил что у меня получалось через RXMemTable, но сбрасывались тока числовые данные, а вот со строками не получилось sad.gif
olegenty
Отправлено: 23.09.2005, 09:47


Ветеран

Группа: Модератор
Сообщений: 2412



ну можешь с TMemTableEh поработать. он-то точно любые данные съест.
avc*
Отправлено: 23.09.2005, 09:59


Не зарегистрирован







QUOTE

Не факт

Не факт что?
Какая разница memtable или dbtable. Суть то одна — проход по выборке источнику от начала до конца, формирование и выполнение insert в приемник (пусть даже за вас это делает компонент типа Table). Тонких места два:
-получение и проход по источнику. Получение одноразовая операция — можно позволить подождать, проход ускорению поддается слабо.
- формирование и выполение Insert. Самая дорогая операция.

QUOTE

сбрасывались тока числовые данные, а вот со строками не получилось

ohmy.gif А что не получилось.
dsTRG->Field->Value = dsSRC->Field->Value;
или сформировать текст Insert
или присвоить параметру значение.
???

Вернуться в Работа с базами данных в C++Builder