powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Использование баз разных типов
25 сообщений из 28, страница 1 из 2
Использование баз разных типов
    #32118249
NightSpider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди, как в дельфи работать сразу с разными базами данных (mdb, dbf)
Есть таблица на FOX и база на Access
Fox:
Date1(date) Postavshik(short) Tovar(short)

Access:
ID(short) Rekvezit(CHARACTER(50))

Нужно создать таблицу dbf вида
Date1(date) Postavshik(short) Rekvezit(CHARACTER(50)) Tovar(short)
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32118346
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, не получается создать? Или типы данных не знаешь?
При чем тут разные БД - работаешь то с одной в конкретный момент времени.
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32118568
Фотография SmaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно завести , скажем, два TDatabase. Один будет подключаться к ФОКСу, а другой к Аксессу.
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32118755
NightSpider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я хотел сделать все одной выборкой и ЭТОТ вопрос меня волновал.
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32118837
NightSpider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда, глупый вопрос конечно, но - как можно несколько dbf файлов слить в один mdb?
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32119033
ййй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неужели, никто не знает, мне тоже очень нужно.
Таблицы dbf записать в базу mdb.
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32119037
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего никто не знает?

Как взять данные из одной таблицы и поместить в другую? Это все должны знать. А кто не знает - тем не скажем :)
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32119042
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Открой Акцесс, и из него (его тулзами) прочитай данные DBF и запиши их в MDB.
ПРИЧЕМ ТУТ ДЕЛФИ???
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32119069
ййй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to tygra>> :-((( А так хотелось. Я не знаю как это сделать
to eNose>> и сделать это нужно именно из Delphi
Я уже не первый день парюсь над этим же заданием, было бы опыта побольше я бы и сам сделал.
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32119363
Фотография SmaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так в чЁм проблема??
Данные умеешь извлекать из таблицы базы??
Данные умеешь вставлять в таблицу базы??

Извлекаешь данные из двух таблиц и, объединяя, пишешь в третью.

Например, настраиваешь, скажем, три альяса (по альясу на каждую ДБ).
БерЁшь три TTable(TQuery), каждую настраиваешь на нужный альяс.
А потом из TTable-источников берЁшь данные и пишешь в TTable-адресат.
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32305138
Ученик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Small. Прости за вопрос, может показаться тебе глупым. Как можно в одном запросе взять данные из таблицы dbf и добавить/изменить в mdb?
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32305139
Ученик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл уточнить, необходимо это сделать при помощи TQuery в Делфи
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32305199
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BDE может выполнять гетерогенные запросы.
посмотри например здесь:
http://www.delphiworld.narod.ru/base/bde_architecture2.html
или поищи в гугле на слова "BDE, гетерогенные, запросы".

Просто этим по всей видимости никто не пользуется.
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32305600
Mongrel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Слушайте, а я ведь как-то делал? :) В запросе перекачивал данные из DBF на SQLServer, только у меня проблемы с кодировками были. :( Так и не настроил по-нормальному. Пришлось циклом париться. Правда, все равно оказалось, что данные на ввод английских букв проверять надо (ну там знаете, 'Н' и 'H'...).
И все же интересно, у меня, например, в том же Database Desktоpe карябалы кажутся. :(
А запросик я конструктором делал - выбирал там две таблицы с разными алиасами. Тут правда про Acces речь идет...
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32305693
Фотография SmaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ученик писал:2 Small. Прости за вопрос, может показаться тебе глупым. Как можно в одном запросе взять данные из таблицы dbf и добавить/изменить в mdb?

Одним - не знаю.
Поскольку LocalSQL очень урезаный, то я не заморачиватся со всякими там гетерогенками.
Я просто делал запрос к одной базе, а потом результат в цикле пихал в другую
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32305880
Ученик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Small
Я поступаю аналогично и при этом обработка каких-то 10000 записей идет ну очень не быстро. Просто я в цикле перебирал записи обновляемой таблицы, осуществлял поиск по связующим реквизитам, а затем производил обновление.
код приведен ниже
Ostatki.Open;
Ostatki.First;
While not(Ostatki.Eof) do
begin
Dif.Close;
Dif.Parameters.ParamValues['vsr_kod']:=Ostatki.FieldbyName ('vsr_code').AsString;
Dif.Parameters.ParamValues['pro_code']:=Ostatki.FieldbyName('pro_code').AsString;
Mars_1C.Open;
Mars_1C.RecordCount=0 then
begin
if (Ostatki.FieldByName('current_qnt').AsInteger>0) then
begin
Ostatki.Edit;
Ostatki.FieldByName('current_qnt').AsInteger:=0;
Ostatki.Post;
end;
end;
Ostatki.Next;
end;

// Ostatki - таблица в базе MDB, Dif -запрос к таблице DBF
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32305885
Ученик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В код закралась очепятка. Mars_1C= Dif
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32305904
Фотография SmaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Ученик
Обновлением не занимался, только перегонял из одной базы в другую - просто конвертировал
Действительно - этот процесс довольно длительный

PS: Заметил, что используешь кажется TTable. ИМХО, через sql-запросы работало бы быстрее.

PPS: А зачем такая надобность из ДБФ перегонять в МДБ?
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32305994
Dmitri Krizhanovski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так я перегоняю данные из DBF в MDB

Код: plaintext
ADOCommand.CommandText := 'INSERT INTO Table SELECT f1, f2, f3 FROM Table2 IN "C:\Path\" "dBASE III;"'


Я так понимаю - самое главное это там где dBASE III
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32306009
Ученик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2SmaLL
Если я правильно понял, ты предлагаешь первоначально SQL- запросом выбрать содержимое обновляемой таблтицы и
Query.First;
while not(Query.Eof) do
begin
//
Передавать значения реквизитов, получать результат запроса и обновлять?
//
Query.Next;
end;
На счет необходимости... Э-х. Надо.
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32306023
Ученик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Dmitri Krizhanovski. Если я правильно понял, ADOCommand ты подключаешь к MDB базе? А для таблиц DBF ты просто указываешь их месторасположение?
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32306038
Dmitri Krizhanovski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Ученик

Ученик писал:...указываешь их месторасположение?

Да.

На всякий случай, когда меня интересовал этот вопрос я искал фразы типа SELECT INTO, INSERT INTO, FROM EXTERNAL DATABASES в разделах касаемых Access и ADO.
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32306568
Ученик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Dmitri Krizhanovski.
Спасибо за ADOCommand. Появилась следующая ошибка. Я создаю временную таблицу : ADOCommand.CommandText:='create table Temp (code text,name text,ean text)';
ADOCommand.Execute;
Затем добавляю данные :
ADOCommand.CommandText:='insert into Temp select * from exptov in "С:\Path" "dBase III;"';
Структура таблиц один в один. При ADOCommand.Execute; "Не совпадает число значений запроса и число результирующих полей" . Повторяю - структура dbf и временной таблицы идентична.
Прикол в том, что я несколькими строками выше произвожу аналогичные действия с другой временной таблицей - все прекрасно работает.
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32306804
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помнится, кто-то когда-то отвечал на такой вопрос. Хоть убей, не могу найти
Там использовался синтаксис

select * from table1, [что-то тут было].table2
...
Рейтинг: 0 / 0
Использование баз разных типов
    #32306897
Ученик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Dmitri Krizhanovski. Все вопрос решен. Оказывается я перед этим создал таблицу с этим же наименованием, только другой структуры.

Надо будет поискать, где-то в форуме видел удаление таблицы из MDB. Если кто помнит, подскажите где.
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Использование баз разных типов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]