Access Linked Tables 看不到新的 SQL Server 表
Posted
技术标签:
【中文标题】Access Linked Tables 看不到新的 SQL Server 表【英文标题】:Access Linked Tables can't see the new SQL Server tables 【发布时间】:2021-05-05 16:47:44 【问题描述】:历史
在 1990 年代,我的前任为我的公司构建了一个 Access 数据库(实际上有四个)。结果,下一位员工在 Windows Server 2003 上构建了 SQL Server 2008 Express 并将数据移到那里。现在是 20 年代,我正在尝试升级到 Windows Server 2019 和 SQL Server 2019 Express。数据库已经升级到 Access 365。
这是我到目前为止所做的:
现状
我从 SQL Server 2008 备份数据库并将它们恢复到 SQL Server 2019。经过一些故障排除和重新配置后,我能够让我的 SQL Server Management Studio 连接到 2019 数据库并且它可以看到所有表。 Access 也可以连接到 2019 年的数据库。
问题
当我重新链接表时,它连接成功,但说在数据库中找不到表。 SQL Server Management Studio 可以很好地查看这些表。桌子肯定在那里,名字也完全正确。我看不出这个错误的任何原因。
任何关于我下一步应该看哪里的建议将不胜感激。
【问题讨论】:
可能有几个原因;您正在连接到错误的实例、错误的数据库,甚至是USER
LOGIN
在 正确 上使用的数据库无权访问 see 对象.
@Larnu My SQL Management Studio 与访问文件位于同一台客户端计算机上。我使用了所有相同的凭据,我可以在那里看到表格。
您确定在建立连接时指定了数据库吗?对于 SSMS,这不是问题,对于 Access,这是一个主要问题。
@ErikA 我不确定我是否这样做。我建立了一个新的 DSN,但它从来没有要求过。我该如何指定?
【参考方案1】:
Access 要求在连接字符串或 DSN 中指定数据库,否则它将在 master 中查找表,并且应该没有。
如何做到这一点在驱动程序版本之间可能略有不同,例如使用ODBC Driver 17,您可以使用将默认数据库更改为选项:
或者,您可以alter the user default database,但由于这是每个用户,我建议不要这样做。
或者,去DSNless。我强烈推荐 DSNless 连接,因为它们不依赖正确配置的用户机器上的 DSN,因此允许在多台机器上使用数据库,而无需在单个机器上进行任何配置。
【讨论】:
谢谢。这正是问题所在。以上是关于Access Linked Tables 看不到新的 SQL Server 表的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode] 203. Remove Linked List Elements_Easy tag: Linked LIst
如何使用 Azure.Data.Tables.TableClient 进行事务处理?
“System.Data.DataTable”不包含“tables”的定义,并且找不到可接受类型为“System.Data.DataTable