|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.02.2009, 07:53 | #1 |
Регистрация: 11.02.2009
Сообщений: 7
|
Работа с базами разных типов (Paradox & dBase)
Задача у меня следующая: есть база данных (Paradox), нужно получать из всех (или почти всех) таблиц этой базы определенные данные (т.е. в каждой таблице присутствует, скажем, поле ID - по этому-то полю и должны отбираться данные в каждой таблице). Полученные данные необходимо записать в таблицы базы данных формата dBase с той же структурой (или как запасной вариант - вообще использовать текстовый файл). Грубо говоря - сконвертировать определенный набор данных Paradox в dBase.
Кто-нибудь подскажет, можно ли это реализовать с помощью запросов SQL? |
16.02.2009, 08:48 | #2 |
Форумчанин
Регистрация: 06.09.2007
Сообщений: 908
|
подключаетесь к Paradox, потом - dBase. для выборки в Paradox делаете соответствующий запрос, а потом циклом перегоняете в dBase. собственно и все. этот вариант предложен программным способом. как перегонять циклом из одной бд в др. уже много раз обсуждалось в этом разделе. А вот может если и есть какие-либо специальные возможности я не знаю. Может кто-то еще чего посоветует...
|
16.02.2009, 08:56 | #3 |
Регистрация: 11.02.2009
Сообщений: 7
|
Спасибо! Видимо придется так и делать... Просто я как то раз где-то на одном из форумов вычитал, что вроде можно обойтись в данной ситуации вообще одним запросом (ну, или по-крайней мере, одним запросом для каждой из таблиц).
|
16.02.2009, 09:47 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Если это чисто техническая проблема то перегони с помошью утилиты datapump, из стандартного пакета делфы.
Или можно попробовать вложенными запросами.
I'm learning to live...
|
16.02.2009, 11:11 | #5 |
Регистрация: 11.02.2009
Сообщений: 7
|
Нет это не техническая проблема - это нужно для реализация обмена данными между разными программами. Обмен должен будет производиться один раз в день. Для этого и пишется данная программулина...
|
16.02.2009, 11:22 | #6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Нет ничего проще.
Нужны 2 компонента TTable и один BatchMove. Ну, кнопка еще, по которой будет Код:
З.Ы. Либо в качестве источника - TQuery, который и будет реализовывать запрос на отбор нужных записей. Последний раз редактировалось mihali4; 16.02.2009 в 11:24. |
17.02.2009, 05:23 | #7 |
Регистрация: 11.02.2009
Сообщений: 7
|
Mihali
Попробовал - вроде получается нормально, НО... все русские слова "забились" знаками #, в чем ошибка, если ошибок во время выполнения нет? |
17.02.2009, 08:44 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Наверное разная кодировка.
выставь в принимающей таблице кодировку аналогичную с передающей и тогда уж передавай данные.
I'm learning to live...
|
18.02.2009, 09:42 | #9 |
Регистрация: 11.02.2009
Сообщений: 7
|
Stilet
Каким образом кодировку поставить? Нигде не нашел ни метода ни свойства для установления кодировки. К тому же передающая таблица это вовсе не таблица, а результат запроса к таблице (TQuery). Ну а принимающая - это TTable. Хотя мне все же кажется, что дело тут вовсе не в кодировке, иначе в принимающей таблице были бы просто кракозябры вместо понятных слов, а там именно #, т.е. "Значение" --> "########" |
18.02.2009, 09:57 | #10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Я уж давно не работаю в БДЕ, посему ниче посоветовать не смогу, кроме как покапаться в BDE Admin.
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как связать поля разных типов | doncova1 | Microsoft Office Access | 5 | 11.03.2008 00:15 |
Перевод переменных разных типов | LeoN | Общие вопросы Delphi | 3 | 23.03.2007 00:15 |