我一直试图绕过这一天好几天没有运气。我加载了Libre Office以了解它将如何处理它,它对PostgeSQL的本机支持工作非常好,我可以看到真正的数据结构。这是我发现我正在处理多个表的方式。我在MS Access中看到的是连接在一起的两个名称。连接使它们超过似乎内置到ODBC驱动程序中的64个字符限制。我见过许多在服务器端修改namedatalen
的引用,但我的问题是在ODBC端。即使连接和工作正常,大多数表都在64字符限制之下。因此我知道其他一切都在起作用。我得到的具体错误是
'your_extra_long_schema_name_your_table_name_that_you_want_to_get_data_from'
不是有效的名称。确保它不包含无效字符 或标点符号并且它不会太长。
答案 0 :(得分:2)
Access数据库中的对象名称限制为64个字符(参考:here)。在Access UI中创建ODBC链接表时,默认行为是使用下划线连接模式名称和表名,并将其用作链接表名,例如,模式中的远程表table1
{ {1}}将在Access中生成名为public
的链接表。如果这样的名称超过64个字符,则Access将引发错误。
但是,我们可以使用VBA创建一个名称较短的表链接,如下所示:
public_table1
(使用Access 2010测试。)