我有几个DB可以通过pgAdmin 3访问,我有一个只能分析.mdb文件的软件。有人知道如何将postgres数据库转换/导出到mdb吗?最好是通过pgAdmin 3?
谢谢
发布于 2010-03-09 14:44:29
您应该能够使用ODBC访问MS文件(如果您有可用的窗口框)。这样,您就可以编写一个小脚本将数据库从一种格式转储到另一种格式,例如使用python使用obdc、pyodbc或mxODBC包。
一个简单的例子可以是(运行在windows上,没有经过真正的测试,您可能需要下载psycopg2包):
import odbc, psycopg2
odbc_conn = odbc.odbc("DSN=MY_ACCESS_DATABASE")
pg_conn = psycopg2.connect("host=server_name dbname=my_db user=godot password=???")
pg_curs = pg_conn.cursor()
odbc_curs = odbc_conn.cursor()
pg_curs.execute('select * from my_table')
for row in pg_curs.fetchall():
# The format depends on your table, of course
# With more work you can make it more generic, generating the
# format string from the type of the columns
odbc_curs.execute('insert into my_table values (%s,%d,%d)' % row)发布于 2010-03-09 14:21:38
.MDB是MS Access,对吗?我怀疑pgAdmin 3能否做到这一点。如果Access可以处理SQL,那么您很可能可以将Postgres数据库转储到纯文本SQL中,并将其加载到Access中(我猜会有一些小的变化)。如果不是,那么您可能必须编写一个从Postgres读取并写入Access/MDB的小程序。也许已经有一个了。我发现,大多数使用谷歌的转换器都朝相反的方向发展。
https://serverfault.com/questions/120716
复制相似问题