将Access转换为PostgreSQL?

postgresql

11509 观看

5回复

161 作者的声誉

客户端已经超出了他们的Access数据库,现在我需要将其转换为PostgreSQL。我没有很多Access体验,所以乍一看似乎最好的解决方案是使用文本文件或其他东西导出数据。

有没有人有一个很好的建议,一个简单的方法来获取DD和数据从Access和真实的东西?

作者: Jeffrey Melloy 的来源 发布者: 2009 年 3 月 12 日

回应 (5)


1

19562 作者的声誉

您应该能够编写可以使用ODBC或其他内容查看它们的内容,但如果未能将其转储到文本文件或使用商业工具

作者: MarkusQ 发布者: 12.03.2009 04:37

1

978 作者的声誉

这是一个旧的脚本,我有一段时间没有更新,但我用于类似的目的:http//code.activestate.com/recipes/52267/

另一个商业选择:http//www.datanamic.com/dbzipper/index.html

作者: kermatt 发布者: 12.03.2009 04:51

3

16456 作者的声誉

  • 在Windows计算机上安装Postgres ODBC驱动程序。
  • 使用“PostgreSQL Unicode”驱动程序为新数据库创建数据源
  • 对于每张桌子:
    • 使用“文件 - >导出”选择“ODBC数据库”类型
    • 确认表名称
    • 选择“计算机数据源”
    • 选择您的数据源

如果你没有太多的表,那么效果很好。我需要自动执行此操作,因此我创建了一个VBS脚本,它只是在适当的时间发出键盘敲击,如下所示:

set shell=CreateObject("Wscript.Shell")
shell.Run("db1.mdb")
WScript.Sleep(5000);

shell.sendkeys("tablename1");
WScript.Sleep(1000);
shell.sendkeys("%fx"); ' Menu File, Export
WScript.Sleep(1000);
shell.sendkeys("%todbc"); ' Type: ODBC Databases
shell.sendkeys("~"); ' Enter

等等

作者: Tometzky 发布者: 13.03.2009 01:05

1

0 作者的声誉

0

126 作者的声誉

来自http://www.postgresonline.com/journal/archives/24-Using-MS-Access-with-PostgreSQL.html,但更新了Access 2019以及更多详细信息:

  1. 安装PostgreSQL ODBC驱动程序。

    1. 你可能已经安装了PostgreSQL。如果没有,您可以从https://www.postgresql.org/ftp/odbc/versions/安装它们。
    2. 如果Access是32位,则应安装32位驱动程序;如果Access为64位,则应安装64位驱动程序。您可以通过文件>帐户>关于访问来查看Access是32位还是64位。
    3. 在安装新版本之前卸载旧版本的PostgreSQL驱动程序。
    4. 有关更多提示,请参阅在Windows上设置PostgreSQL ODBC
  2. 外部数据>新数据源>来自其他来源> ODBC数据库。键盘快捷键是Alt> X> N1> T> C.

  3. 通过创建链接表选择“ 链接到数据源”,然后按“ 确定”

  4. 在“文件数据源”选项卡下,导航到安装ODBC驱动程序的位置。(可能是C:\ Program Files \ Common Files \ ODBC \ Data Sources)。

  5. 在“DSN名称”旁边,单击“ 新建...”

  6. 如果您的数据库是UTF-8或非拉丁语编码,请选择PostgreSQL Unicode。如果数据库编码为SQL_ASCII,EUC_JP,BIG5,Shift-JIS或LATIN字符集,请选择PostgreSQL ANSI。从Access 2000或更高版本制作的数据库采用UTF-8格式。单击下一步>

  7. 如对话框所示,“键入要保存连接的文件数据源的名称。或者,通过单击”浏览“找到要保存的位置。单击下一步>

  1. 填写相关服务器,db。单击“ 连接”按钮,取消选中Bools作为char

  2. 单击第2页按钮并选中True为-1,然后取消选中可更新游标,如图所示。单击确定。

  3. 现在选择所需的表,然后单击“ 保存密码”。如果您缺少表上的主键,Access将提示您输入要用作主键的字段或字段集。这不会对实际表进行任何结构更改,但在链接结构中,Access将假装这是主键并相应地使用它来进行表更新等。这对于主键概念不存在且您希望可更新视图可从Access更新的视图特别有用。如果在不选择一组字段的情况下单击“确定”或“取消”到该问题,则该表将被标记为只读,这是许多报告视图所需的行为。

要从Microsoft Access中的任何链接表或物理表将数据导出到PostgreSQL,请执行以下操作:

  1. 将表重命名为您希望命名为的名称。

  2. 确保您在Postgres中使用的用户的默认架构是要将数据导出到的架构。

  3. 转到文件 - >导出 - >选择ODBC数据源,它位于底部,然后选择您创建的DSN。这里有一个问题是,PostgreSQL将保留表中字段和表名的大小,因此最好先将所有字段重命名为小写,这样每次使用时都不必引用它们。

作者: mic 发布者: 09.08.2019 08:25
32x32