Форум: "Базы";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];
ВнизИмпорт из ACCESS Найти похожие ветки
← →
zdm © (2006-07-31 17:44) [0]ПОдскажите, как в Delphi импортировать табличку из access в другую бд, например paradox
← →
Neo Trinitron © (2006-07-31 17:55) [1]В среде Access выбрать Файл\Экспорт. Появистя мастер, позволяющий выбрать тип базы данных для экспорта.
← →
Ega23 © (2006-07-31 17:55) [2]
Select * from AccesTable;
First;
While not eof do
begin
Insert into ParadoxTable Values (FieldByName...);
Next;
end;
Это в общем случае.
← →
Neo Trinitron © (2006-07-31 18:05) [3]Сорри, протупил. Увидел
>из access в другую бд,
не увидел
>в Delphi
Однако интересно, ведь есть цивильная функция по экспорту зашитая в тот же Access. Кто-нить знает как её юзать. По идее она где-то в DLL. Вариант переноса по одной записи несколько жутковат...
← →
Ega23 © (2006-07-31 18:31) [4]
> Вариант переноса по одной записи несколько жутковат...
А как? В конечном итоге, всё по одной записи и делается.
Даже если Inset into Select from.
← →
sniknik © (2006-07-31 19:59) [5]Удалено модератором
← →
sniknik © (2006-07-31 19:59) [6]> Кто-нить знает как её юзать
а как же! ктонибудь, он, наверняка знает.
(есть в хелпе по jet/access, в общем в справке мсофиса)
> В конечном итоге, всё по одной записи и делается.
> Даже если Inset into Select from.
да, но ваша реализация будет на порядок медленнее... и потом откуда уверенность? может внутри движка пишется блоками невзирая на записи...
← →
zdm © (2006-08-01 09:08) [7]да чего-то тормознул, спасибо всем, особенно ega23
← →
zdm © (2006-08-01 09:09) [8]а по юзанью экспорта , надо создать макрос в accsess, а потом выполнить её из delphi
← →
zdm © (2006-08-01 09:10) [9]в смысле его(макрос)
← →
Сергей М. © (2006-08-01 09:40) [10]
> zdm © (01.08.06 09:10) [9]
Проктолог, конечно, может удалить гланды, но лучше к его услугам не обращаться)
Да какие могут быть макросы, если MSAccess не установлен ?
← →
Ega23 © (2006-08-01 09:40) [11]
> да, но ваша реализация будет на порядок медленнее... и потом
> откуда уверенность? может внутри движка пишется блоками
> невзирая на записи...
>
Может и блоками. И скорее всего на порядок медленнее. Но вопрос был именно через Delphi. Честно говоря, другого способа придумать не могу.
← →
zdm © (2006-08-01 09:42) [12]<Сергей М>очень много умных на форуме которые очень много шуток знают а реального совета дать не могут, вопрос вообщето я задавал и не спрашивал есть access или нет не можешь ни чего подсказать ну и молчи
← →
zdm © (2006-08-01 09:48) [13]в инете есть инфа которая советует использовать AdoCommand и там вроде есть какой-то экспорт, но что-то догнать не могу как это юзать
← →
sniknik © (2006-08-01 10:45) [14]> Честно говоря, другого способа придумать не могу.
в упоминаемой справке раздел "Предложение IN", тамже смотри про ISAM формат"с (сделай поиск по "ISAM").
> очень много умных на форуме которые очень много шуток знают а реального совета дать не могут
реальные, читай полезные, советы (посмотреть справку с указанием где...) обычно игнорируются спрашивающими, потому что они считают "реальными" ответы с кодом... (что воспринимается как "не хочу ничего знать, просто дайте код который я просто скопирую в программу, и если что будет не так буду знать кого винить за "глючный код"")
> использовать AdoCommand и там вроде есть какой-то экспорт
в нем нет и не может быть никакого экспорта, это просто компонент для передачи запроса на выполнение движку/серверу.
а рекомендуют его использовать в этом случае просто потому, что подобный запрос на экспорт не будет возвращать рекордсет.
← →
Сергей М. © (2006-08-01 11:02) [15]
> zdm © (01.08.06 09:42) [12]
> я задавал и не спрашивал есть access или нет
Ты не спрашивал, ты утверждал)
Цитирую тебя:
> надо создать макрос в accsess, а
> потом выполнить её из delphi
Т.е. я так понял, что вне зависимости от того, будет ли на машине юзера установлен MSAccess или не будет, тебе все равно надо именно средствами MSAccess и никакими иными. И у тебя типа только одна проблема - ты не знаешь как создать этот макрос, что писать в его теле и как запустить этот макрос в своей Делфи-программе..
?
← →
Сергей М. © (2006-08-01 11:09) [16]
> zdm
Кстати, если тебя приспичило выполнить импорт-экспорт именно средствами MSAccess, то никакие макросы не нужны - достаточно подключиться к MSAccess как к ole-серверу и дать ему программную команду на выполнение импорта-экспорта (MSAccess умеет это делать безо всяких макросов)
← →
zdm © (2006-08-01 12:01) [17]sniknik, я это и имел ввиду, вот как раз со всякими isam надо еще разобраться....
Сергей М., да нет-же, не средствами access а средствами delphi, к ole-серверу не очень хочеться конектится, были проблемы с (конект-дисконект), а вообще я понял, что лучше создать аналогичные таблички и не париться, создать с ними связь и вносить данные в них.
← →
Сергей М. © (2006-08-01 12:17) [18]
> zdm © (01.08.06 12:01) [17]
> к ole-серверу не очень хочеться конектится
Ну и зря.
Есть DAO.DBEngine, есть JRO.JetEngine - это тоже OLE-серверы, для них access-базы родные и эти серверы не требуют наличия MSAccess. И тот и другой умеют работать с ODBC и ISAM.
← →
sniknik © (2006-08-01 12:20) [19]> это тоже OLE-серверы
нет, это просто COM обьекты, наличия access для работы не требуют.
← →
Сергей М. © (2006-08-01 12:34) [20]
> sniknik © (01.08.06 12:20) [19]
> нет, это просто COM обьекты
И тот и другой с успехом создаются вызовом CreateOleObject() и имеют все характерные признаки, необходимые для полноценных олей-объектов, в первую очередь - наличие диспинтерфейсов.
Убедись сам, рассмотрем эти объекты в лупу oleview"era.
Поддержка же этими объектами СОМ-механизма - это уже второе.
да, и тот и другой могут выступать в т.ч. и как СОМ-объекты.
← →
Neo Trinitron © (2006-08-01 14:47) [21]Сергей М., а в какой DLL реализован сабж?
← →
Сергей М. © (2006-08-01 15:25) [22]
> Neo Trinitron © (01.08.06 14:47) [21]
А зачем это знать ?
← →
Neo Trinitron © (2006-08-01 15:31) [23]> А зачем это знать ?
Хочу посмотреть на него через OLE лупу... Если есть ещё способ узнать как работать с COM объектом - буду только рад!
← →
sniknik © (2006-08-01 15:33) [24]вообщето в разных, причем у каждого isam-а может быть как одна dll таки общая с другим, а в случае с paradox/dbase если установлен BDE то еще и он (и его dll-и) используются.
смысл? будеш нискоуровневый доступ посредством чужих dll организовывать? скажи зачем, и конкретно какой isam интересует тогда скажу что за dll (и где смотреть, только обьясни зачем).
← →
sniknik © (2006-08-01 15:42) [25]для сабж-а - "Импорт из ACCESS", работать с COM обьектами не надо вообще... а надо пройтись по хелпу по предложенным темам.
← →
Neo Trinitron © (2006-08-01 15:42) [26]sniknik, да я по теме. Меня конкретно интересует импорт/экспорт данных в/из mdb в другие форматы и наоборот. Наверное просто было бы подключить COM объект, указать параметры, выполнить метод. Может быть это можно сделать ещё проще...но не копировать по из одного Dataseta в другой.
← →
sniknik © (2006-08-01 16:01) [27]не, я так отказываюсь от дальнейшего "обсуждения"...
в хелп предложенный смотрел? 1 (одна!!!) строка кода - запрос, куда проще, то? какой COM, какие методы? все уже есть, подключено, пример запроса в первом же разделе... и 30 постов после этого. так понимаю заглянуть в справку ищущим "реальной помощи" не судьба, ну а меня ломает оттуда "копипастить".
← →
Сергей М. © (2006-08-02 09:24) [28]
> Neo Trinitron © (01.08.06 15:31) [23]
> Хочу посмотреть на него через OLE лупу
Для этого вовсе необязательно знать конкретные имена конкретных DLL.
"Лупа" использует рег.инф-цию из реестра об интересующих объектах.
← →
Beduir (2006-08-03 22:19) [29]Я делал это (для Парадокса, Экселя) одним запросом в через ADOQuery, вот пример запроса для парадокса:
SELECT * INTO MYTABLE IN "C:\pdb" "Paradox 7.x" FROM MYTABLE
Также можно из Access"а в html запихать или текстовые файлы и обратно.
← →
Neo Trinitron © (2006-08-04 09:58) [30]Beduir, похоже это то что и требовалось! Проверю позже, если будет работать, то зачот!
← →
sniknik © (2006-08-04 10:52) [31]... нда уж, кочуют "тайные" знания и одной темной головы в другую, а хелп так никто и не открыл.
> Проверю позже, если будет работать, то зачот!
это работать не будет... принцип правильный, но написано с ошибкой. (goto справка! (ниче что я по английски? ;о))))
и потом (неявная вещь...) исам парадокса не включает 7-ю версию в ограниченном варианте (т.е. только при установленом BDE будет работать... (и то только когда ошибку исправиш ;)). + возможно и любая другая запись в меньшую версию парадокса тоже без BDE работать не будет. (про вариабельность с/без BDE в справке есть. то что без установленности только чтение, но у меня были случаи когда писалось(!!!) а BDE не было... вот я думаю, а не устарела ли справка?... хотя может то был просто глюк с частично удаленным BDE, ну типа его не видно, а он есть (как суслики ;о))). разбираться лень, и не нужно, давно не используем.)
← →
Beduir (2006-08-04 16:07) [32]sniknik, да ошибка есть, торопился и пропустил точку с зяпятой
т.е. надо так
SELECT * INTO MYTABLE IN "C:\pdb" "Paradox 7.x;" FROM MYTABLE
а в остальном работает, проверял лично.
pdb папка в которой будет лежать база
Можно еще так
SELECT * INTO MYTABLE IN "C:\1.xls" "Excel 8.0;" FROM MYTABLE
Посмотреть "форматы ISAM" можно в реестре (для Xp)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\ISAM Formats
← →
Beduir (2006-08-04 16:11) [33]А насчет BDE, не знаю, у меня он стоит, без него не проверял. Но если есть Delphi, то есть и BDE. В любом случае, если BDE не нужно ставить, то Microsoft выпустила подправленные драйверы для парадокса, которые и без BDE без проблеам работают.
← →
sniknik © (2006-08-04 16:21) [34]> то Microsoft выпустила подправленные драйверы для парадокса, которые и без BDE без проблеам работают.
в справке написано что нет. т.е. это будет массовым явлением. т.е. - читать только до 4 версии включительно можно без BDE, писать и читать 7-ю только с BDE.
← →
Desdechado © (2006-08-04 16:27) [35]Интересно, почему никто не озаботился соответствием типов данных?
Это ж, вообще говоря, та еще залипуха...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.10.08;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.051 c