Convertir toml a accdb

Convertidor online gratuito de TOML a ACCDB

Analizar datos TOML y cargarlos en una base de datos estructurada de Microsoft Access ACCDB.

Convertir TOML a ACCDB online - gratis

Uploading…
Los archivos seleccionados superan el límite total de 75 MB. Selecciona archivos más pequeños o en menor cantidad.

Tu archivo se procesa al instante y no se almacena en nuestros servidores.

Cómo convertir un archivo toml a accdb

101convert.com Assistant Avatar

101convert.com assistant bot
1h

Las aplicaciones que requieren una base de datos de Microsoft Access pueden recibir registros de configuración o datos en TOML, por lo que los valores deben analizarse e insertarse en un archivo .accdb. Se trata de una conversión de estructuras de datos, no de un cambio directo de formato, porque TOML no tiene tablas, índices ni relaciones equivalentes a las de Access.

Qué es el formato TOML

TOML, abreviatura de Tom's Obvious Minimal Language, es un formato de configuración legible para las personas, creado a partir de pares clave-valor, tablas, matrices, cadenas, números, valores booleanos y fechas. Los desarrolladores lo utilizan para configuraciones de aplicaciones, herramientas de compilación, administradores de paquetes, archivos de implementación y metadatos de proyectos.

Entre los productores y consumidores habituales se incluyen Cargo de Rust mediante Cargo.toml, las herramientas de empaquetado de Python mediante pyproject.toml, los generadores de sitios estáticos, las herramientas para juegos y las aplicaciones personalizadas. Normalmente, TOML se encuentra como archivo de configuración y no como una exportación de base de datos.

Qué es el formato ACCDB

ACCDB es el formato de base de datos de Microsoft Access utilizado por Access 2007 y versiones posteriores. Almacena tablas, consultas, formularios, informes, índices, relaciones, macros y, en configuraciones compatibles, archivos adjuntos y campos multivalor.

Un archivo ACCDB resulta útil cuando los usuarios necesitan editar registros en Microsoft Access, ejecutar consultas guardadas, imprimir informes o compartir una pequeña base de datos relacional sin implementar un sistema de base de datos de servidor. Access requiere el Microsoft Access Database Engine correspondiente o una instalación de Microsoft Access para crear y editar archivos ACCDB.

Cómo convertir realmente TOML a ACCDB

Como no existe una asignación universal de uno a uno, primero decide qué secciones de TOML se convertirán en tablas y qué claves se convertirán en columnas. Un archivo TOML sencillo que contiene una matriz de tablas es el caso más fácil:

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

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

Para esta estructura, Python 3.11 o una versión posterior puede analizar TOML con su módulo integrado tomllib. Instala el controlador ODBC de Microsoft Access y pyodbc; después, ejecuta un script que cree la base de datos e inserte los registros:

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])

Guarda el script como toml_to_accdb.py y ejecuta python toml_to_accdb.py. El script crea products.accdb, añade una clave principal autonumerada, infiere tipos básicos de Access e inserta las entradas de la matriz.

Para archivos más complejos, normaliza los datos antes de cargarlos. Una tabla TOML como [server] puede convertirse en una tabla server de una sola fila; una matriz como [[users]] puede convertirse en una tabla users; y las tablas anidadas normalmente deberían convertirse en tablas relacionadas con claves principales y foráneas. No almacenes cada objeto anidado en una sola columna de texto, a menos que conservar la configuración original sea más importante que poder consultarla.

Microsoft Access puede abrir el resultado mediante File → Open → Browse. Si los datos se han escrito primero en CSV, utiliza External Data → New Data Source → From File → Text File, selecciona el delimitador y los tipos de campo, y elige una clave principal durante la importación.

También puedes probar el conversor gratuito de 101convert.com sin instalar software. La conversión en línea solo es adecuada cuando el servicio admite la estructura TOML y el esquema de base de datos resultante satisface tus necesidades; valida las tablas y los valores generados antes de utilizar el archivo.

Calidad, compatibilidad y limitaciones

Un archivo TOML no define claves relacionales, índices, longitudes de campo ni relaciones entre tablas, por lo que esos elementos deben diseñarse durante la conversión. Las fechas TOML, las horas locales, las matrices, las tablas insertadas, las cadenas multilínea y las matrices con tipos mixtos pueden requerir un tratamiento explícito en lugar de una inferencia automática de tipos.

Los campos de texto de Access pueden almacenar Unicode, pero las palabras reservadas y los caracteres de las claves TOML deben escaparse o cambiarse de nombre antes de crear identificadores SQL. El controlador ODBC de Microsoft Access normalmente está disponible en Windows; las instalaciones de Python, el controlador y Office de 32 y 64 bits deben utilizar arquitecturas compatibles.

Después de la carga, abre el archivo ACCDB en Access y verifica el número de filas, los valores nulos, las fechas, la precisión decimal, los caracteres Unicode y las relaciones. Conserva el archivo TOML original porque, por lo general, la base de datos generada no puede reproducir el formato original, los comentarios, el orden de las claves ni la estructura anidada exacta.


Nota: Este registro de conversión de toml a accdb está incompleto, debe verificarse y puede contener imprecisiones. Por favor, vote a continuación si esta información le resultó útil o no.

¿Fue útil esta información?

TOML vs ACCDB: comparación de formatos

Cómo se comparan los formatos TOML y ACCDB en las propiedades que más importan para esta conversión.

Comparación de los formatos de archivo TOML y ACCDB
Propiedad .TOML Tom's Obvious, Minimal Language .ACCDB Microsoft Access Database
Estándar abierto No
Compresión Sin compresión
Tamaño de archivo típico Pequeño Medio
Se abre en un navegador web No No
Edición posterior Fácil Limitado
Compatibilidad con metadata Básico Básico
Legible como texto plano No
Más adecuado para Intercambio de datos Intercambio de datos
Introducido 2013 2007
Desarrollador Tom Preston-Werner Microsoft
Tipo MIME application/toml application/vnd.ms-access

Preguntas frecuentes

¿Es gratuito el convertidor de TOML a ACCDB?

Sí, convertir TOML a ACCDB en 101convert.com es totalmente gratuito. No se requiere registro, correo electrónico ni instalación.

¿Qué tamaño puede tener mi archivo TOML?

Puedes subir archivos TOML de hasta 300 MB y convertir hasta 20 archivos a la vez en un solo lote.

¿Qué ocurre con mis archivos subidos?

Los archivos se procesan automáticamente y se eliminan de nuestros servidores pocos minutos después de la conversión. Nunca vemos ni compartimos tus archivos.

¿Necesito instalar algún programa para convertir TOML a ACCDB?

No. La conversión de TOML a ACCDB se realiza completamente online en tu navegador y funciona en Windows, Mac, Linux, Android y iPhone.

¿Ha fallado la conversión?

En la mayoría de los casos, la causa es un formato de archivo incorrecto. Sube un archivo TOML válido para esta conversión de TOML a ACCDB. En ocasiones, el problema también puede estar de nuestro lado. Analizamos los fallos de conversión recurrentes y desactivamos o reparamos el convertidor si detectamos algún defecto.