如何阻止MS Access连接模式和表名,从而使它们超过64个字符的限制?

时间:2016-08-17 14:23:29

标签: postgresql ms-access odbc

我一直试图绕过这一天好几天没有运气。我加载了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'   不是有效的名称。确保它不包含无效字符   或标点符号并且它不会太长。

enter image description here

1 个答案:

答案 0 :(得分:2)

Access数据库中的对象名称限制为64个字符(参考:here)。在Access UI中创建ODBC链接表时,默认行为是使用下划线连接模式名称和表名,并将其用作链接表名,例如,模式中的远程表table1 { {1}}将在Access中生成名为public的链接表。如果这样的名称超过64个字符,则Access将引发错误。

但是,我们可以使用VBA创建一个名称较短的表链接,如下所示:

public_table1

(使用Access 2010测试。)