Converter toml para accdb

Conversor online gratuito de TOML para ACCDB

Analise dados TOML e carregue-os em um banco de dados estruturado Microsoft Access ACCDB.

Converter TOML para ACCDB online - grátis

Uploading…
Os arquivos selecionados excedem o limite total de 75 MB. Selecione arquivos menores ou em menor quantidade.

Seu arquivo é processado instantaneamente e nunca é armazenado em nossos servidores.

Como converter toml para accdb arquivo

101convert.com Assistant Avatar

101convert.com assistant bot
2h

Aplicações que exigem um banco de dados Microsoft Access podem receber registros de configuração ou dados em TOML, portanto os valores precisam ser analisados e inseridos em um arquivo .accdb. Isso é uma conversão de estrutura de dados, e não uma alteração direta de formato, porque TOML não possui tabelas, índices ou relacionamentos equivalentes aos do Access.

O que é o formato TOML

TOML, abreviação de Tom's Obvious Minimal Language, é um formato de configuração legível por humanos, composto por pares de chave-valor, tabelas, arrays, strings, números, valores booleanos e datas. Desenvolvedores o utilizam para configurações de aplicações, ferramentas de build, gerenciadores de pacotes, arquivos de deployment e metadados de projetos.

Entre os produtores e consumidores comuns estão o Cargo do Rust por meio de Cargo.toml, ferramentas de empacotamento do Python por meio de pyproject.toml, geradores de sites estáticos, ferramentas de jogos e aplicações personalizadas. Normalmente, TOML é encontrado como um arquivo de configuração, e não como uma exportação de banco de dados.

O que é o formato ACCDB

ACCDB é o formato de banco de dados do Microsoft Access usado pelo Access 2007 e versões posteriores. Ele armazena tabelas, consultas, formulários, relatórios, índices, relacionamentos, macros e, em configurações compatíveis, anexos e campos multivalorados.

Um arquivo ACCDB é útil quando os usuários precisam editar registros no Microsoft Access, executar consultas salvas, imprimir relatórios ou compartilhar um pequeno banco de dados relacional sem implantar um sistema de banco de dados de servidor. O Access exige o Microsoft Access Database Engine correspondente ou uma instalação do Microsoft Access para criar e editar arquivos ACCDB.

Como converter TOML para ACCDB de fato

Como não existe um mapeamento universal de um para um, primeiro decida quais seções do TOML se tornarão tabelas e quais chaves se tornarão colunas. Um arquivo TOML simples contendo um array de tabelas é o caso mais fácil:

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

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

Para essa estrutura, o Python 3.11 ou posterior pode analisar TOML com seu módulo integrado tomllib. Instale o driver ODBC do Microsoft Access e o pyodbc, depois execute um script que crie o banco de dados e insira os 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])

Salve o script como toml_to_accdb.py e execute python toml_to_accdb.py. O script cria products.accdb, adiciona uma chave primária de numeração automática, infere tipos básicos do Access e insere as entradas do array.

Para arquivos mais complexos, normalize os dados antes de carregá-los. Uma tabela TOML como [server] pode se tornar uma tabela server de uma linha; um array como [[users]] pode se tornar uma tabela users; e tabelas aninhadas normalmente devem se tornar tabelas relacionadas com chaves primárias e estrangeiras. Não armazene cada objeto aninhado em uma única coluna de texto, a menos que preservar a configuração original seja mais importante do que consultá-la.

O Microsoft Access pode abrir o resultado por meio de File → Open → Browse. Se os dados tiverem sido primeiro gravados em CSV, use External Data → New Data Source → From File → Text File, selecione o delimitador e os tipos de campos e escolha uma chave primária durante a importação.

Você também pode experimentar o conversor gratuito em 101convert.com sem instalar software. A conversão online é adequada somente quando o serviço é compatível com a estrutura TOML e o esquema do banco de dados resultante atende às suas necessidades; valide as tabelas e os valores gerados antes de usar o arquivo.

Qualidade, compatibilidade e limitações

Um arquivo TOML não define chaves relacionais, índices, comprimentos de campos ou relacionamentos entre tabelas, portanto esses elementos precisam ser projetados durante a conversão. Datas TOML, horários locais, arrays, tabelas inline, strings multilinha e arrays de tipos mistos podem exigir tratamento explícito, em vez de inferência automática de tipos.

Os campos de texto do Access podem armazenar Unicode, mas palavras reservadas e caracteres nas chaves TOML devem ser escapados ou renomeados antes da criação dos identificadores SQL. O driver ODBC do Microsoft Access normalmente está disponível no Windows; as instalações de Python, driver e Office de 32 bits e 64 bits devem usar arquiteturas compatíveis.

Após o carregamento, abra o arquivo ACCDB no Access e verifique as contagens de linhas, os valores nulos, as datas, a precisão decimal, os caracteres Unicode e os relacionamentos. Mantenha o arquivo TOML original, pois o banco de dados gerado geralmente não consegue reproduzir a formatação original, os comentários, a ordem das chaves ou a estrutura aninhada exata.


Nota: Este registo de conversão toml para accdb está incompleto, deve ser verificado e pode conter incorreções. Por favor vote abaixo se achou esta informação útil ou não.

Esta informação foi útil?

Comparação de formato: TOML vs ACCDB

Como os formatos TOML e ACCDB se comparam nas propriedades mais importantes para esta conversão.

Comparação dos formatos de arquivo TOML e ACCDB
Propriedade .TOML Tom's Obvious, Minimal Language .ACCDB Microsoft Access Database
Padrão aberto Sim Não
Compressão Sem compressão
Tamanho típico do arquivo Pequeno Médio
Abre num navegador web Não Não
Edição posterior Fácil Limitado
Suporte a metadados Básico Básico
Legível em texto simples Sim Não
Mais usado para Intercâmbio de dados Intercâmbio de dados
Introduzido 2013 2007
Desenvolvedor Tom Preston-Werner Microsoft
Tipo MIME application/toml application/vnd.ms-access

Perguntas frequentes

O conversor de TOML para ACCDB é gratuito?

Sim, converter TOML para ACCDB no 101convert.com é totalmente gratuito. Não é necessário cadastro, e-mail nem instalação.

Qual o tamanho máximo do meu arquivo TOML?

Você pode enviar arquivos TOML de até 300 MB e converter até 20 arquivos de uma vez em um único lote.

O que acontece com os arquivos enviados?

Os arquivos são processados automaticamente e excluídos dos nossos servidores poucos minutos após a conversão. Nunca visualizamos nem compartilhamos seus arquivos.

Preciso instalar algum programa para converter TOML para ACCDB?

Não. A conversão de TOML para ACCDB é feita totalmente online no navegador e funciona no Windows, Mac, Linux, Android e iPhone.

A conversão falhou?

Na maioria dos casos, a causa é um formato de arquivo incorreto. Envie um arquivo TOML válido para esta conversão de TOML para ACCDB. Às vezes, o problema também pode estar do nosso lado. Analisamos falhas de conversão recorrentes e desativamos ou corrigimos o conversor se detectarmos algum defeito.