Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2011-01-22

DBF

А что делать, если ничего распространеннее шейп-файлов не вылезло? А они, падлы, на дбф-ах.

Oracle великий и могучий. Какой самый простой способ загрузить данные из DBF в таблицу Oracle? Написать процедуру на PL/SQL:

Well, I looked up the dbase file format on the web and found some sample DBASE files (specifically at http://www.e-bachmann.dk/docs/xbase.htm ). I put together a "dbase_pkg" plsql package that in Oracle8.0 and up should be able to
load many DBASE files. It requires Oracle8.0 because I use a bfile to do binary file io which is required with dbase files.
The package I developed will load into an existing table a DBASE file. Optionally -- it will show you the insert it will use an print out a create table you might use to load into. It is not heavily "field tested" as yet -- should work in most cases, however I'm pretty much sure MEMO fields won't work since they are stored out of line in another file.

asktom.oracle.com

И ведь работает, проверено.

Но мало просто загрузить дбф в Oracle, надо сохранить ключ, а он в дбф (обычно) определяется через номер строки. Да поможет нам святой Сигизмунд прекрасный модуль к Python, чтение и запись файлов DBASE (DBF).
dbfpy.sourceforge.net

Пример использования — копирование таблицы с добавлением колонки и ее заполнением из счетчика:
Что еще надо для щастя?

kwords: dbf, dbase, oracle, python, etl, data import/load/migration

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)