Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.08;
Скачать: CL | DM;

Вниз

Импорт из 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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.072 c
15-1158611953
Евгений Р.
2006-09-19 00:39
2006.10.08
Позиционирование в RichEdit


1-1156789030
Коля
2006-08-28 22:17
2006.10.08
Это баг Delphi?


2-1159086452
Axis_of_Evil
2006-09-24 12:27
2006.10.08
работа с WideString


3-1155018993
Dolmat
2006-08-08 10:36
2006.10.08
Какой порт по умолчанию IB слушает


15-1158217488
k2
2006-09-14 11:04
2006.10.08
"Методология повышения производительности вещественных и ..."