我想分享我的一次有趣的经历以及一个解决方案,尽管这不是我最喜欢的。本质上,我们利用 MYSQL 和 ODBC 连接到 MS Access,运行一系列要求较高的查询。大多数计算机都能无缝处理这些查询,但有两台计算机除外,它们会抛出运行时错误 3146:ODBC CALL FAILED。这些计算机较新,这最初让我感到困惑。尽管在 Stack Overflow 上搜索了众多解决方案,但似乎都没有解决该问题。 在将正常运行的计算机与有问题的计算机进行比较后,我发现了一个关键的差异:MariaDB ODBC 驱动程序版本。工作计算机配备了 MariaDB ODBC 驱动程序 3.1.17,而较新的计算机则安装了最新的 3.1.20。令人惊讶的是,在新计算机上恢复到较旧的 3.1.17 驱动程序完全解决了该问题。 然而,我对这种解决方法感到担忧,因为它只是推迟了不可避免的升级到新版本的需要。有谁知道为什么会出现这种差异?也许服务器端需要进行更新,从长远来看可以缓解这个问题?任何意见将不胜感激。
我没有足够的代表来发表评论,添加为答案。
为了回答您的问题,您使用的是两种不同的产品,且未承诺兼容。
有人知道为什么会出现这种差异吗?