Konwertuj sqlite do dbf

Darmowy konwerter online SQLITE do DBF

Konwertuj wybrane tabele SQLite do plików DBF na potrzeby starszego oprogramowania GIS i bazodanowego.

Konwertuj SQLITE na DBF online - za darmo

Uploading…
Wybrane pliki przekraczają łączny limit 75 MB. Wybierz mniej lub mniejsze pliki.

Plik jest przetwarzany natychmiast i usuwany zaraz po pobraniu.

Jak to działa

  1. 1/3

    Prześlij swój plik .sqlite

    Kliknij, aby wybrać plik, który chcesz przekonwertować, lub po prostu przeciągnij go i upuść w zaznaczonym obszarze.

  2. 2/3

    Wykonaj konwersję .sqlite do .dbf

    Po pomyślnym przesłaniu pliku kliknij konwersję, gdy będziesz gotowy.

  3. 3/3

    Pobierz przekonwertowany plik .dbf

    Wynik konwersji jest gotowy do pobrania.

Jak konwertować sqlite do dbf

Starsze programy GIS, katastralne, księgowe i bazodanowe mogą wymagać tabeli dBASE .dbf zamiast bazy danych SQLite. Konwersja danych udostępnia wybraną tabelę SQLite programom, które nie potrafią odczytywać plików .sqlite lub oczekują nazw pól, typów i kodowania DBF.

Czym jest format SQLite

SQLite to samodzielna relacyjna baza danych przechowywana w jednym pliku, najczęściej z rozszerzeniami .sqlite, .sqlite3 lub .db. Korzystają z niej aplikacje mobilne, przeglądarki, narzędzia desktopowe, urządzenia wbudowane i programy GIS, ponieważ nie wymaga osobnego serwera bazy danych.

Plik SQLite może zawierać wiele tabel, indeksów, widoków, wyzwalaczy i metadanych. Nie jest odpowiednikiem jednego arkusza kalkulacyjnego, dlatego konwersja wymaga wybrania tabeli źródłowej; powiązane tabele zwykle trzeba wyeksportować jako osobne pliki DBF.

Czym jest format DBF

DBF to płaski format tabel powiązany z dBASE. Starsze systemy biznesowe, aplikacje GIS, programy statystyczne i narzędzia bazodanowe używają go do wymiany wierszy i kolumn ze stałym schematem. Zestaw danych Shapefile zwykle zawiera tabelę atrybutów DBF obok plików .shp i .shx.

DBF jest prosty i szeroko obsługiwany przez starsze oprogramowanie, ale nie zachowuje indeksów, relacji, widoków, wyzwalaczy, ograniczeń ani sposobu obsługi transakcji SQLite. Tradycyjne pliki zgodne z dBASE zazwyczaj ograniczają nazwy pól do 10 znaków, używają stałych szerokości pól, zapewniają ograniczoną precyzję wartości liczbowych i przedstawiają daty bez informacji o godzinie ani strefie czasowej.

Jak konwertować dane

W przypadku jednorazowej konwersji bez instalowania oprogramowania użyj konwertera na stronie 101convert.com: wybierz plik SQLite, wybierz wymaganą tabelę, jeśli dostępny jest wybór tabeli, rozpocznij konwersję i pobierz wynikowy plik .dbf. Sprawdź, czy dane wyjściowe zawierają właściwą tabelę; baza danych SQLite może zawierać kilka tabel. W przypadku poufnych lub bardzo dużych baz danych użyj zamiast tego metody lokalnej.

W przypadku powtarzalnych konwersji lub precyzyjnej kontroli schematu Python może bezpośrednio odczytywać SQLite i zapisywać DBF:

  1. Zainstaluj Python i pakiet DBF:
    python -m pip install dbf
  2. Sprawdź bazę danych i tabelę:
    sqlite3 source.sqlite
    .tables
    PRAGMA table_info(customers);
  3. Utwórz plik export_dbf.py, zmieniając w razie potrzeby nazwę tabeli, nazwę pliku wyjściowego, pola i wybrane nazwy kolumn:
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()

Uruchom skrypt za pomocą python export_dbf.py. Definicje pól DBF i kolejność elementów krotki muszą odpowiadać wybranym kolumnom SQLite. Typowe definicje to C(80) dla tekstu, N(12,2) dla wartości dziesiętnych, N(10,0) dla liczb całkowitych, L dla wartości logicznych oraz D dla dat. Przed wstawieniem dat SQLite do pola D przekonwertuj je na obiekty Python date; użyj pola znakowego, gdy informacje o godzinie lub strefie czasowej muszą pozostać widoczne.

Alternatywny dwuetapowy przepływ pracy polega na wyeksportowaniu tabeli za pomocą powłoki wiersza poleceń SQLite, a następnie zaimportowaniu pliku CSV do desktopowego oprogramowania obsługującego DBF:

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

CSV jest tylko formatem pośrednim i nie przechowuje typów ani relacji SQLite. Narzędzie zapisujące DBF nadal wymaga nazw pól, szerokości, typów i odpowiedniej strony kodowej.

Kontrola jakości i zgodności

  • Przed konwersją przypisz dynamiczne wartości SQLite do stałego schematu DBF. Sprawdź zakresy liczb całkowitych, skalę wartości dziesiętnych, sposób reprezentacji wartości logicznych, długości tekstu i formaty dat.
  • Pola znakowe powinny mieć wystarczającą szerokość, aby pomieścić najdłuższą wartość. Tradycyjne pola znakowe DBF są zwykle ograniczone do 254 bajtów, a zbyt wąskie pole może obciąć dane lub spowodować odrzucenie rekordu.
  • Zmień nazwy lub mapuj kolumny dłuższe niż 10 znaków, kolumny, których nazwy po skróceniu stałyby się identyczne, oraz nazwy zawierające znaki odrzucane przez docelową implementację dBASE.
  • Wybierz właściwą stronę kodową. cp1252 jest odpowiednia dla wielu aplikacji używających języków zachodnioeuropejskich, ale starsze oprogramowanie GIS może wymagać strony kodowej OEM. Obsługa UTF-8 różni się w zależności od czytnika DBF; przetestuj znaki diakrytyczne i znaki alfabetów innych niż łaciński w programie docelowym.
  • Uwzględnij możliwość utraty rozróżnienia wartości NULL, liczb o wysokiej precyzji, długiego tekstu, informacji o strefie czasowej, indeksów i struktury relacyjnej. Zachowaj oryginalny plik SQLite.
  • Po otwarciu DBF w aplikacji odbierającej porównaj liczbę wierszy w źródle i danych wyjściowych, przykładowe teksty i daty oraz sumy wartości liczbowych.

Porównanie formatu SQLITE z DBF

Jak formaty SQLITE i DBF wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.

Porównanie formatów plików SQLITE i DBF
Cecha .SQLITE SQLite database .DBF dBASE Database File
Czytelny tekstowo Nie Nie
Typy danych Typowane Typowane
Zagnieżdżone struktury Tak Nie
Formuły Nie Nie
Wiele tabel lub arkuszy Tak Nie
Typowy rozmiar pliku Mały Mały
Otwarty standard Tak Częściowo otwarty
Najlepszy do Wymiana danych Wymiana danych
Wprowadzono 2000 1983
Twórca D. Richard Hipp / SQLite Consortium Ashton-Tate / dBASE, Inc. (format origin)
Typ MIME application/vnd.sqlite3 application/x-dbf

Baza danych obecnie nie zawiera żadnych bezpośrednich linków do konwerterów plików sqlite.

Najczęściej zadawane pytania

Czy konwerter SQLITE do DBF jest darmowy?

Tak, konwersja SQLITE do DBF na 101convert.com jest całkowicie darmowa. Nie wymaga rejestracji, adresu e-mail ani instalacji. Jeśli potrzebujesz wyższego limitu rozmiaru pliku lub chcesz konwertować więcej plików naraz, sprawdź nasze plany.

Jak duży może być mój plik SQLITE?

Możesz przesłać pliki SQLITE o rozmiarze do 50 MB i przekonwertować do 20 plików jednocześnie w jednej partii.

Co dzieje się z przesłanymi plikami?

Pliki są przetwarzane automatycznie i usuwane z naszych serwerów kilka minut po konwersji. Nigdy nie przeglądamy ani nie udostępniamy Twoich plików.

Czy muszę instalować oprogramowanie, aby przekonwertować SQLITE do DBF?

Nie. Konwersja SQLITE do DBF odbywa się całkowicie online w przeglądarce i działa w systemach Windows, Mac, Linux, Android i iPhone.

Konwersja nie powiodła się?

W większości przypadków przyczyną jest nieprawidłowy format pliku. Prześlij prawidłowy plik SQLITE dla tej konwersji z SQLITE do DBF. Czasami problem może również występować po naszej stronie. Analizujemy powtarzające się nieudane konwersje i wyłączamy lub naprawiamy konwerter, jeśli wykryjemy usterkę.