1

我有一个 mdb,它曾经包含一堆链接表。这些链接指向另一个 Access mdb 中的表。

作为受控迁移的一部分,我将这些链接表更改为指向 SQL 服务器实例,方法是遍历所有链接表并将连接字符串更新为 ODBC 字符串,然后在 tabledef 上调用 RefreshLink。

但是,在使用 ODBC 链接打开我的新数据库时,Access 崩溃。更有趣的是,如果我删除一个特定的链接表(通过 ADO),我就可以打开数据库。更有趣的是,如果我通过 Access GUI 重新添加链接表,它不会崩溃,所以我知道 SQL Server 中的表本身没有问题。

因此,我需要弄清楚导致 Access 崩溃的这个特定链接表的原因。我可以获得有关崩溃的任何信息以提供帮助吗?我什至可以从哪里开始调查呢?

编辑:我尝试了多种刷新链接表的方法,无论是通过刷新链接,还是删除并重新创建带有 DSN 或没有 DSN 的表等。每次都是同一个表导致 mdb 在打开时崩溃。

编辑 2:可悲的是,崩溃似乎实际上以某种方式归结为源代码控制 - 如果我禁用我的 SCCAPI 提供程序,那么就没有崩溃。我仍然不知道如何调查这个。

4

3 回答 3

0

删除链接并创建全新的链接。ODBC 链接即使以 ODBC 链接开始,也无法可靠地刷新。

于 2010-01-15T19:13:06.573 回答
0

没有链接表的策略会改变结果,由于同一个表,我们仍然会在同一个数据库中遇到同样的崩溃。

但是,禁用源代码控制解决了这个问题,没有人提出可能的原因,也没有调查的方法,所以我通过接受“禁用 SCC”作为答案来结束这个问题。

于 2010-01-22T16:40:06.657 回答
0

我在我的 Access 数据库中大量使用 MySQL 链接表,尽管任何写作我都使用 ADO 连接而不是 ODBC。

然而最近在一个新项目中,我链接到一个新数据库 - 一个 Web 后端 MySQL - 链接很好 - 测试连接很好 - 但是一个特定的表链接很好,但尝试打开它 - MS Access 立即被删除 - 我从未见过在我使用 ODBC 链接的任何数据库中。ODBC 链接的美妙之处在于它使用 DAO 而不是 ADO,您可以将表视为本地表 - 甚至不会在此特定表上出现 ADO 错误 - 但没有提供错误代码来帮助。

解决了问题 - 该表有 2 个 JSON 类型的字段(实际上只是长文本),但 Access 被杀死了 - 即使使用最新的驱动程序 8.0

幸运的是,我正在与 Web 开发人员联系,这是一个定制的数据库,但没有使用 JSON 字段 - 所以他将它们转换为长文本 - 瞧 - MS Access 再次非常高兴。

Though the annoying thing I haven't solved is linked tables show contents as #DELETED# - and a F5 refresh is necessary to populate - though with driver 8.0 this is not working.

However, ADO is happy and a copy and paste link as a local table works perfectly.

于 2020-11-05T00:04:59.650 回答