gpt4 book ai didi

postgresql - 转换对 PostgreSQL 的访问?

转载 作者:行者123 更新时间:2023-11-29 11:12:38 25 4
gpt4 key购买 nike

一个客户的 Access 数据库已经无法满足需求,现在我需要将其转换为 PostgreSQL。我没有很多 Access 经验,所以乍一看,最好的解决方案似乎是使用文本文件或其他方式导出数据。

对于从 Access 中获取 DDL 和数据并将其转化为真实内容的简单方法,是否有人有任何好的建议?

最佳答案

基于 http://www.postgresonline.com/journal/archives/24-Using-MS-Access-with-PostgreSQL.html但针对 Access 2019 更新了更多详细信息:

  1. 安装 PostgreSQL ODBC 驱动程序。

    1. 您可能已经从 installing PostgreSQL 安装了这个.如果没有,您可以从 https://www.postgresql.org/ftp/odbc/versions/msi/ 安装它们.
    2. 如果您的 Access 是 32 位的,则应安装 32 位驱动程序;如果 Access 是 64 位的,则应安装 64 位驱动程序。您可以通过"file">“帐户”>“关于 Access”查看 Access 是 32 位还是 64 位。
    3. 在安装新版本之前卸载旧版本的 PostgreSQL 驱动程序。
    4. 参见 Setting up PostgreSQL ODBC on Windows获取更多提示。
  2. 外部数据 > 新数据源 > 来自其他来源 > ODBC 数据库。键盘快捷键是 Alt > X > N1 > T > C。

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

  4. 在 DSN 名称旁边,单击新建...

  5. 如果您的数据库是 UTF-8 或非拉丁编码,请选择 PostgreSQL Unicode。如果您的数据库编码是 SQL_ASCII、EUC_JP、BIG5、Shift-JIS 或 LATIN 字符集,请选择 PostgreSQL ANSI。从 Access 2000 或更高版本创建的数据库采用 UTF-8。如果 Access 是 64 位,请选择 64 位版本。点击下一步>

Create New Data Source dialog

  1. 如对话框所示,“输入要将连接保存到的文件数据源的名称。或者,单击浏览找到要保存到的位置。”单击下一步>。点击完成

  2. 填写数据库、服务器、端口、用户名和密码字段。

  3. 点击Connection并取消选中Bools as char

PostgreSQL and Advanced Options dialogs

  1. 点击Page 2并勾选True is -1,取消勾选Updatable Cursors。点击确定。点击确定

  2. 如果您收到“无法使用输入的文件数据源参数建立连接”的错误消息,请从“开始”菜单(或 Windows 7 或更早版本控制面板中的 ODBC 管理员),点击添加...,选择PostgreSQL Unicode(x64),点击完成,输入数据库的详细信息,然后单击测试

ODBC Data Source Administrator

  1. 选择新创建的 .dsn 文件并单击“确定”。
  1. Now select the tables you want and click Save Password. If you are missing primary keys on tables, Access will prompt you for what fields or set of fields you would like to use as the primary key. This doesn't make any structural changes to the actual table, but in the linked structure, Access will pretend this is the primary key and use that accordingly for table updates and such. This is particularly useful for views where the concept of primary keys does not exist and you want your updateable views to be updateable from Access. If you click OK or Cancel to the question without picking a set of fields, that table will be marked as readonly, which is the desired behavior for a lot of reporting views.

将数据从 Access 表导出到 PostgreSQL:

  1. 选择表格。

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

  1. Make sure the default schema of the user you are using in Postgres, is the schema you want to export the data to.
  1. 外部数据 > 更多(在导出部分)> ODBC 数据库 并选择您创建的 DSN。
    1. One gotcha here is that PostgreSQL will maintain the casing of the fields in the table and the table name, so it's best to rename all your fields to lowercase first so you don't have to be quoting them every time you use them.

关于postgresql - 转换对 PostgreSQL 的访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/637147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com