Konverze sqlite do dbf

Online konvertor SQLITE do DBF zdarma

Převeďte vybrané tabulky SQLite do souborů DBF pro starší GIS a databázový software.

Převést SQLITE na DBF online - zdarma

Uploading…
Vybrané soubory přesahují celkový limit 75 MB. Vyberte méně nebo menší soubory.

Soubor se zpracuje hned a smaže se ihned po stažení.

Jak to funguje

  1. 1/3

    Nahrajte soubor .sqlite

    Kliknutím vyberte soubor, který chcete převést, nebo ho jednoduše přetáhněte do vyznačené oblasti.

  2. 2/3

    Spusťte převod .sqlite do .dbf

    Po úspěšném nahrání souboru klikněte na převod, jakmile budete připraveni.

  3. 3/3

    Stáhněte převedený soubor .dbf

    Výsledek převodu je připraven ke stažení.

Jak převést soubor sqlite do formátu dbf

Starší GIS, katastrální, účetní a databázové programy mohou vyžadovat tabulku dBASE .dbf namísto databáze SQLite. Převodem dat zpřístupníte vybranou tabulku SQLite softwaru, který nedokáže číst .sqlite nebo očekává názvy polí, typy a kódování DBF.

Co je formát SQLite

SQLite je samostatná relační databáze uložená v jednom souboru, která běžně používá přípony .sqlite, .sqlite3 nebo .db. Mobilní aplikace, prohlížeče, desktopové nástroje, vestavěná zařízení a GIS programy jej používají, protože nevyžaduje samostatný databázový server.

Soubor SQLite může obsahovat více tabulek, indexů, pohledů, triggerů a metadat. Není ekvivalentem jedné tabulky, takže převod vyžaduje výběr zdrojové tabulky; související tabulky je obvykle nutné exportovat jako samostatné soubory DBF.

Co je formát DBF

DBF je plochý tabulkový formát spojovaný s dBASE. Starší podnikové systémy, GIS aplikace, statistické programy a databázové nástroje jej používají k výměně řádků a sloupců s pevným schématem. Datová sada Shapefile běžně obsahuje atributovou tabulku DBF spolu se soubory .shp a .shx.

DBF je jednoduchý a starší software jej široce podporuje, ale nezachovává indexy SQLite, vztahy, pohledy, triggery, omezení ani chování transakcí. Tradiční soubory kompatibilní s dBASE obecně omezují názvy polí na 10 znaků, používají pevné šířky polí, poskytují omezenou numerickou přesnost a ukládají data bez informací o čase nebo časovém pásmu.

Jak převést data

Pro jednorázový převod bez instalace softwaru použijte převodník na 101convert.com: vyberte soubor SQLite, zvolte požadovanou tabulku, pokud je výběr tabulky k dispozici, spusťte převod a stáhněte výsledný soubor .dbf. Ověřte, že výstup obsahuje zamýšlenou tabulku; databáze SQLite může obsahovat několik tabulek. U důvěrných nebo velmi velkých databází místo toho použijte místní metodu.

Pro opakované převody nebo přesnou kontrolu schématu může Python číst SQLite přímo a zapisovat DBF:

  1. Nainstalujte Python a balíček DBF:
    python -m pip install dbf
  2. Prohlédněte databázi a tabulku:
    sqlite3 source.sqlite
    .tables
    PRAGMA table_info(customers);
  3. Vytvořte export_dbf.py a podle potřeby změňte název tabulky, název výstupu, pole a názvy vybraných sloupců:
import sqlite3
import dbf

source = "source.sqlite"
table_name = "customers"
output = "customers.dbf"

conn = sqlite3.connect(source)
conn.row_factory = sqlite3.Row
rows = conn.execute(f'SELECT * FROM "{table_name}"').fetchall()

fields = (
    "ID N(10,0); "
    "NAME C(80); "
    "EMAIL C(120); "
    "ACTIVE L; "
    "CREATED C(25)"
)

table = dbf.Table(output, fields, codepage="cp1252")
table.open(dbf.READ_WRITE)
try:
    for row in rows:
        table.append((
            row["id"],
            row["name"],
            row["email"],
            None if row["active"] is None else bool(row["active"]),
            row["created"]
        ))
finally:
    table.close()
    conn.close()

Spusťte skript pomocí python export_dbf.py. Definice polí DBF a pořadí n-tice musí odpovídat vybraným sloupcům SQLite. Mezi běžné definice patří C(80) pro text, N(12,2) pro desetinné hodnoty, N(10,0) pro celá čísla, L pro booleovské hodnoty a D pro data. Před vložením do pole D převeďte řetězce dat SQLite na objekty Python date; pokud musí zůstat viditelné údaje o čase nebo časovém pásmu, použijte místo toho znakové pole.

Alternativním dvoukrokovým postupem je exportovat tabulku pomocí shellu příkazového řádku SQLite a poté importovat CSV do desktopového softwaru s podporou DBF:

sqlite3 source.sqlite
.headers on
.mode csv
.output customers.csv
SELECT * FROM customers;
.output stdout
.quit

CSV je pouze meziformát a nepřenáší typy ani vztahy SQLite. Zapisovač DBF stále vyžaduje názvy polí, šířky, typy a vhodnou kódovou stránku.

Kontroly kvality a kompatibility

  • Před převodem namapujte dynamické hodnoty SQLite na pevné schéma DBF. Zkontrolujte rozsahy celých čísel, měřítko desetinných hodnot, reprezentaci booleovských hodnot, délky textu a formáty dat.
  • Znaková pole nastavte dostatečně široká pro nejdelší hodnotu. Tradiční znaková pole DBF jsou běžně omezena na 254 bajtů a úzké pole může data zkrátit nebo odmítnout záznam.
  • Přejmenujte nebo namapujte sloupce delší než 10 znaků, sloupce, které se po zkrácení překrývají, a názvy obsahující znaky odmítané cílovou implementací dBASE.
  • Vyberte správnou kódovou stránku. cp1252 vyhovuje mnoha aplikacím pro západoevropské jazyky, ale starší GIS software může vyžadovat OEM kódovou stránku. Podpora UTF-8 se mezi čtečkami DBF liší; otestujte znaky s diakritikou a nelatinské znaky v cílovém programu.
  • Počítejte s možnou ztrátou rozdílů mezi hodnotami NULL, čísel s vysokou přesností, dlouhého textu, informací o časovém pásmu, indexů a relační struktury. Původní soubor SQLite si ponechte.
  • Po otevření DBF v přijímající aplikaci porovnejte počty řádků ve zdroji a výstupu, reprezentativní texty a data a číselné součty.

SQLITE vs DBF: srovnání formátů

Jak si formáty SQLITE a DBF stojí v nejdůležitějších vlastnostech pro tento převod.

Srovnání souborových formátů SQLITE a DBF
Vlastnost .SQLITE SQLite database .DBF dBASE Database File
Čitelný jako prostý text Ne Ne
Datové typy Typovaný Typovaný
Vnořené struktury Ano Ne
Vzorce Ne Ne
Více tabulek nebo listů Ano Ne
Typická velikost souboru Malé Malé
Otevřený standard Ano Částečně otevřený
Nejvhodnější pro Výměna dat Výměna dat
Zavedeno 2000 1983
Vývojář D. Richard Hipp / SQLite Consortium Ashton-Tate / dBASE, Inc. (format origin)
MIME typ application/vnd.sqlite3 application/x-dbf

Databáze v současné době neobsahuje žádný program na konverzi souborů sqlite.

Často kladené otázky

Je konvertor SQLITE do DBF zdarma?

Ano, převod SQLITE do DBF na 101convert.com je zcela zdarma. Není potřeba registrace, e-mail ani instalace. Pokud potřebujete vyšší limit velikosti souboru nebo chcete převádět více souborů najednou, podívejte se na naše tarify.

Jak velký může být můj soubor SQLITE?

Můžete nahrát soubory SQLITE o velikosti až 50 MB a převést až 20 souborů najednou v jedné dávce.

Co se stane s nahranými soubory?

Soubory se zpracovávají automaticky a několik minut po převodu jsou z našich serverů smazány. Vaše soubory nikdy neprohlížíme ani nesdílíme.

Musím pro převod SQLITE do DBF instalovat nějaký software?

Ne. Převod SQLITE do DBF probíhá kompletně online v prohlížeči a funguje na Windows, Macu, Linuxu, Androidu i iPhonu.

Konverze se nezdařila?

Ve většině případů je příčinou nesprávný formát souboru. Nahrajte platný soubor SQLITE pro tuto konverzi z SQLITE do DBF. Občas může být chyba také na naší straně. Analyzujeme opakované neúspěšné konverze, a pokud zjistíme závadu konvertoru, vypneme jej nebo opravíme.