如何将MS Access数据库(.mdb)文件转换为Sqlite?

4

我有一个MS Access .mdb文件,希望将其转换为SQLite数据库。

需要转换所有表格并导出其中的数据。

在Linux环境下,是否有任何免费开源的命令行工具可以完成此操作?

1个回答

2
“这样的东西非常难找,但是我用 SQLAlchemypandas_access 构建了一个方便的 Python 工具来完成它,其中依赖于 mdbtools。你所需的一切都可以通过以下方式获得:”
pip3 install sqlalchemy pandas_access
sudo apt install mdbtools

代码如下:
#!/usr/bin/env python3

import pandas_access as mdb
from sqlalchemy import create_engine
import sys
import os

if len(sys.argv)!=3:
  print("{0} <MDB File> <Sqlite3 File>".format(sys.argv[0]))
  sys.exit(-1)

if os.path.isfile(sys.argv[2]):
  print("Refusing to modify existing database!")
  sys.exit(-1)

engine = create_engine('sqlite:///{0}'.format(sys.argv[2]), echo=False)
tlist  = [tbl for tbl in mdb.list_tables(sys.argv[1])]
tables = {tbl:mdb.read_table(sys.argv[1], tbl) for tbl in tlist}

for k in tables:
  tables[k].to_sql(k, con=engine)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接