从 Postgres 链接到 Access 2010 的表上的字段不会变成备忘录?

Posted

技术标签:

【中文标题】从 Postgres 链接到 Access 2010 的表上的字段不会变成备忘录?【英文标题】:Fields on tables linked to Access 2010 from Postgres not becoming Memo? 【发布时间】:2011-08-26 15:47:10 【问题描述】:

我有一个重复的问题,感觉很基本,但我无法解决,也无法在线找到解决方案。真的希望有人有简单的东西。

我有多种情况,我在 Postgres (v8.4) 中有相对较大的表存储,我希望能够轻松地显示它们以供我的测试人员查看。表格始终具有字符变化字段,远远超出 Access 希望在文本字段中显示的最大 255 个;它应该成为一个备忘录字段。数据中还包含所有可以想象的分隔符(制表符、回车、分号、管道等),将其提取到 Excel 等将永远无法顺利进行。最简单的事情是使用 ODBC 将表链接到 Access DB 并在那里查看它......除了当我链接或导入时,Access 将字段转换为文本。我已经尝试过 ODBC 上的设置,但没有什么能让这些字段成为备忘录。

我将采取一种方法来提取到 Excel 清洁器,以便在 Access 中更好地查看它.. 以低级别用户友好的方式让我获得整个表格的任何东西,以始终如一地将这样的表格放到他们可以的地方审查它。有什么建议吗?

【问题讨论】:

【参考方案1】:

迟到总比没有好..

我刚刚在 Access 2010 和 Postgres 9.1 中遇到了这个问题。我在 Postgres ODBC 驱动程序设置中找到了您必须更改的设置。在 ODBC 数据源管理器中,选择您设置的数据源并单击“配置...”按钮。

点击“数据源”按钮。

取消选中“Text as LongVarChar”复选框

在 Access 中,您可能必须删除链接表并重新添加它们。我尝试重新链接,一张表正确更新,一张没有。删除后重新添加,我都有工作。

【讨论】:

【参考方案2】:

尝试为您希望拥有Memo 数据类型的所有列设置text 数据类型。我用 PostgreSQL 9.0(64 位)、psqlodbc_09_00_0310(32 位,所以我在C:\Windows\SysWOW64\odbcad32.exe 下创建了用户 DSN)检查了这一点,我看到所有带有文本类型的列都变成了备忘录,与 characted(6) 具有文本的列相反Access 中的数据类型。

【讨论】:

好的,我之前做过,但仍然出现“太大”错误,所以我想我没有检查字段类型。实际上,这确实会将它们转换为备注字段......但链接到表仍然会出现保存失败“无法保存对象”。我现在正在查看我的数据,但需要一段时间才能在混乱中挣扎,看看是否/在哪里发生了任何故障。

以上是关于从 Postgres 链接到 Access 2010 的表上的字段不会变成备忘录?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 pyodbc 将表从 MS Access 迁移到 Postgres?

通过 VBA 在 MS Access 中自动链接/刷新 ODBC 链接表

如何在拆分数据库中将表从前端链接到后端(MS Access 2010)

从 SQL 2008 R2 到 MS Access 的链接服务器

将 Access 链接从 SQL Server 更改为另一个 Access 文件?

如何在 MS Access 中将邮件从一个链接的 Exchange 邮箱移动到另一个邮箱