ODBC:从 Microsoft Access 导出到 Postgres 失败

Posted

技术标签:

【中文标题】ODBC:从 Microsoft Access 导出到 Postgres 失败【英文标题】:ODBC: Export from Microsoft Access to Postgres fails 【发布时间】:2020-07-15 21:04:39 【问题描述】:

我有一个大型数据库,目前正在从 Microsoft Access(版本 2006 Build 13001.20384)导出到 PostgreSQL 10.12(Ubuntu 10.12-0ubuntu0.18.04.1)。到目前为止,这工作得很好,但我对一个特定的表有问题。当我开始导出时,我收到以下错误消息:

错误:'/' 处或附近的语法错误; 执行查询时出错(#1)

很遗憾,我不知道如何处理此错误消息,并且我在 Internet 上没有找到有关此消息的任何信息。也许这里有人可以帮助我。

【问题讨论】:

你说“使用一个特定的表”......也许该表的名称或该表的列名是 postgresql 的关键字而不是访问(似乎名称包含一个'/ ')。如果您不知道表格以隔离问题,请尝试拆分导入。例如。将查询分成两半,然后对给出语法错误的一半执行相同的操作。如果您使用给出错误的表定义更新您的问题,如果您无法弄清楚,我们可以帮助您找到确切的问题。 您能否详细说明您执行导出/导入的步骤?特别是使用的实际查询?错误消息在哪里显示? @Fil 非常感谢您对 PostgreSQL 关键字的提示。我发现有些列名的名称末尾包含单引号和双引号。 Microsoft Access 似乎对此没有任何问题,但 PostgreSQL 有。删除这些字符后,导出运行没有进一步问题。 【参考方案1】:

[我复制我之前的评论,因为它包含对解决方案有用的内容,所以这个问题可以显示为已解决......并且它还包含对将来遇到相同问题的人的建议。]

您说“使用一个特定的表”......也许该表的名称或该表的列名是 postgresql 的关键字,而不是用于访问(似乎名称包含'/')。

如果您不知道该表以隔离问题,请尝试拆分导入。例如。将查询分成两半,然后对给出语法错误的一半执行相同的操作。如果您使用给出错误的表定义更新您的问题,如果您无法弄清楚,我们可以帮助您找到确切的问题。

【讨论】:

以上是关于ODBC:从 Microsoft Access 导出到 Postgres 失败的主要内容,如果未能解决你的问题,请参考以下文章

odbc_exec():SQL 错误:[Microsoft][ODBC Microsoft Access Driver] 参数太少。预期 1.,SQLExecDirect 中的 SQL 状态 0700

如何通过 odbc_connect() 从另一台计算机连接到 Microsoft Access 数据库?

odbc_exec():SQL 错误:[Microsoft][ODBC Microsoft Access Driver] 查询表达式中的语法错误(缺少运算符)

PYODBC ProgrammingError: ('42000', "[42000] [Microsoft][Pilote ODBC Microsoft Access]

PHP 警告:odbc_connect():SQL 错误:[Microsoft][ODBC Microsoft Access Driver]一般错误无法打开临时注册表项(易失性)

[Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句的语法错误。