Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.13 c
6-1146944800
Satanist
2006-05-06 23:46
2006.10.08
Словить сlick в WebBrowser


2-1158833275
Evgenii
2006-09-21 14:07
2006.10.08
Как обнулить время компонента TMonthCalendar


1-1156764443
Mameluke
2006-08-28 15:27
2006.10.08
Масштабирование окна


15-1158579571
PHPDeveloper
2006-09-18 15:39
2006.10.08
Проблема при установке Windows a


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский