Converti toml in accdb

Convertitore online gratuito da TOML a ACCDB

Analizza i dati TOML e caricali in un database strutturato Microsoft Access ACCDB.

Converti TOML in ACCDB online - gratuito

Uploading…
I file selezionati superano il limite totale di 75 MB. Seleziona file meno numerosi o più piccoli.

Il tuo file viene elaborato istantaneamente e non viene archiviato sui nostri server.

Come convertire toml in accdb file

  • Database
101convert.com Assistant Avatar

101convert.com assistant bot
1 h

Le applicazioni che richiedono un database Microsoft Access possono ricevere record di configurazione o dati in TOML, quindi i valori devono essere analizzati e inseriti in un file .accdb. Si tratta di una conversione della struttura dei dati, non di una modifica diretta del formato, perché TOML non dispone di tabelle, indici o relazioni equivalenti a quelli di Access.

Che cos'è il formato TOML

TOML, abbreviazione di Tom's Obvious Minimal Language, è un formato di configurazione leggibile dagli esseri umani, basato su coppie chiave-valore, tabelle, array, stringhe, numeri, valori booleani e date. Gli sviluppatori lo usano per le impostazioni delle applicazioni, gli strumenti di build, i package manager, i file di distribuzione e i metadati dei progetti.

Tra i produttori e i consumer più comuni figurano Cargo di Rust tramite Cargo.toml, gli strumenti di packaging di Python tramite pyproject.toml, i generatori di siti statici, gli strumenti per videogiochi e le applicazioni personalizzate. In genere TOML viene usato come file di configurazione anziché come esportazione di un database.

Che cos'è il formato ACCDB

ACCDB è il formato di database Microsoft Access usato da Access 2007 e versioni successive. Memorizza tabelle, query, maschere, report, indici, relazioni, macro e, nelle configurazioni supportate, allegati e campi multivalore.

Un file ACCDB è utile quando gli utenti devono modificare record in Microsoft Access, eseguire query salvate, stampare report o condividere un piccolo database relazionale senza distribuire un sistema di database server. Access richiede il Microsoft Access Database Engine corrispondente o un'installazione di Microsoft Access per creare e modificare file ACCDB.

Come convertire effettivamente TOML in ACCDB

Poiché non esiste una corrispondenza universale uno-a-uno, occorre innanzitutto decidere quali sezioni TOML devono diventare tabelle e quali chiavi devono diventare colonne. Un semplice file TOML contenente un array di tabelle è il caso più semplice:

[[products]]
name = 'Keyboard'
price = 49.95
available = true

[[products]]
name = 'Mouse'
price = 19.95
available = false

Per questa struttura, Python 3.11 o versioni successive può analizzare TOML con il modulo integrato tomllib. Installare il driver ODBC di Microsoft Access e pyodbc, quindi eseguire uno script che crea il database e inserisce i record:

import tomllib
import pyodbc

with open('products.toml', 'rb') as source:
    data = tomllib.load(source)

rows = data['products']
fields = ['name', 'price', 'available']

def quote_identifier(value):
    return '[' + value.replace(']', ']]') + ']'

def sql_type(values):
    if all(isinstance(value, bool) for value in values):
        return 'YESNO'
    if all(isinstance(value, (int, float)) and not isinstance(value, bool) for value in values):
        return 'DOUBLE'
    return 'LONGTEXT'

database = 'products.accdb'
connection_string = (
    'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
    'DBQ=' + database + ';'
)

with pyodbc.connect(connection_string, autocommit=True) as connection:
    cursor = connection.cursor()
    columns = ['[id] COUNTER PRIMARY KEY']
    for field in fields:
        values = [row.get(field) for row in rows if row.get(field) is not None]
        columns.append(quote_identifier(field) + ' ' + sql_type(values))
    cursor.execute('CREATE TABLE [products] (' + ', '.join(columns) + ')')

    placeholders = ', '.join('?' for field in fields)
    column_list = ', '.join(quote_identifier(field) for field in fields)
    statement = 'INSERT INTO [products] (' + column_list + ') VALUES (' + placeholders + ')'
    for row in rows:
        cursor.execute(statement, [row.get(field) for field in fields])

Salvare lo script come toml_to_accdb.py ed eseguire python toml_to_accdb.py. Lo script crea products.accdb, aggiunge una chiave primaria con numerazione automatica, deduce i tipi di base di Access e inserisce le voci dell'array.

Per i file più complessi, normalizzare i dati prima di caricarli. Una tabella TOML come [server] può diventare una tabella server con una riga; un array come [[users]] può diventare una tabella users; e le tabelle annidate dovrebbero generalmente diventare tabelle correlate con chiavi primarie ed esterne. Non memorizzare ogni oggetto annidato in un'unica colonna di testo, a meno che preservare la configurazione originale non sia più importante della possibilità di eseguire query su di essa.

Microsoft Access può quindi aprire il risultato tramite File → Open → Browse. Se i dati sono stati prima scritti in CSV, usare External Data → New Data Source → From File → Text File, selezionare il delimitatore e i tipi di campo, quindi scegliere una chiave primaria durante l'importazione.

È anche possibile provare il convertitore gratuito su 101convert.com senza installare software. La conversione online è adatta solo quando il servizio supporta la struttura TOML e lo schema del database risultante soddisfa le proprie esigenze; convalidare le tabelle e i valori generati prima di usare il file.

Qualità, compatibilità e limitazioni

Un file TOML non definisce chiavi relazionali, indici, lunghezze dei campi o relazioni tra tabelle, quindi questi elementi devono essere progettati durante la conversione. Date TOML, ore locali, array, tabelle inline, stringhe multilinea e array con tipi misti possono richiedere una gestione esplicita anziché la deduzione automatica dei tipi.

I campi di testo di Access possono memorizzare Unicode, ma le parole riservate e i caratteri nelle chiavi TOML devono essere sottoposti a escape o rinominati prima di creare gli identificatori SQL. Il driver ODBC di Microsoft Access è normalmente disponibile su Windows; le installazioni a 32 e 64 bit di Python, del driver e di Office devono usare architetture compatibili.

Dopo il caricamento, aprire il file ACCDB in Access e verificare il numero di righe, i valori null, le date, la precisione decimale, i caratteri Unicode e le relazioni. Conservare il file TOML originale perché il database generato generalmente non può riprodurre la formattazione originale, i commenti, l'ordine delle chiavi o l'esatta struttura annidata.


Nota: questo record di conversione da toml a accdb è incompleto, deve essere verificato e potrebbe contenere inesattezze. Vota qui sotto se hai trovato utili o meno queste informazioni.

Le informazioni sono state utili?

Confronto formato: TOML vs ACCDB

Come i formati TOML e ACCDB si confrontano sulle proprietà più importanti per questa conversione.

Confronto dei formati TOML e ACCDB
Proprietà .TOML Tom's Obvious, Minimal Language .ACCDB Microsoft Access Database
Standard aperto No
Compressione Non compresso
Dimensione tipica del file Piccolo Medio
Si apre in un browser web No No
Modifica successiva Facile Limitato
Supporto metadata Base Base
Leggibile come testo semplice No
Ideale per Scambio dati Scambio dati
Introdotto 2013 2007
Sviluppatore Tom Preston-Werner Microsoft
Tipo MIME application/toml application/vnd.ms-access

Domande frequenti

Il convertitore da TOML a ACCDB è gratuito?

Sì, convertire TOML in ACCDB su 101convert.com è completamente gratuito. Non sono richiesti registrazione, e-mail o installazione.

Quanto può essere grande il mio file TOML?

Puoi caricare file TOML fino a 300 MB e convertire fino a 20 file alla volta in un unico lotto.

Cosa succede ai file caricati?

I file vengono elaborati automaticamente ed eliminati dai nostri server pochi minuti dopo la conversione. Non visualizziamo né condividiamo mai i tuoi file.

Devo installare un software per convertire TOML in ACCDB?

No. La conversione da TOML a ACCDB avviene completamente online nel browser e funziona su Windows, Mac, Linux, Android e iPhone.

La conversione non è riuscita?

Nella maggior parte dei casi, la causa è un formato di file errato. Carica un file TOML valido per questa conversione da TOML a ACCDB. A volte il problema può dipendere anche da noi. Analizziamo gli errori di conversione ricorrenti e disattiviamo o ripariamo il convertitore se rileviamo un difetto.