使用SQL Server后端访问前端,适用于某些计算机,而不适用于其他计算机

问题描述 投票:1回答:1

我正在将我公司的计时系统从一个旧的,缓慢的Access后端转移到一个快速而快速的SQL Server后端。我发现,虽然前端连接到我的机器或其他几个机器的后端没有问题,但在这里的大多数机器上,它似乎根本不起作用。

我使用CreateTableDef方法链接表,找到hereAutoExec宏在启动时建立了表格。在我的机器上,使用Access 2016(版本1801,Build 9001.2171)运行Windows 7 Professional 64位,它打开时没有任何问题。商店中另一台相当不同的机器,使用Access 2010数据库运行时引擎运行Windows XP 32位(此机器没有完整版本的Office,只有运行时)也可以正常运行。

但是,办公室中的其他计算机运行相同版本的Office,使用Windows 7或10,总是64位和专业版,打开.mdb文件时,无法连接到SQL Server。

在一种情况下,Access会在吐出之前挂起最多30分钟

ODBC - 与'(此处的服务器名称)的连接失败。

我尝试在Access尝试建立连接时尝试运行服务器探查器,而我所看到的是服务器显然根本没有看到连接尝试。这个特定的机器还运行一个用VC#编写的单独的实用程序来连接和操作数据库,它可以毫无障碍地运行。仅在Access前端,我是否遇到问题。

所以,总结一下:

  • Microsoft SQL Server后端
  • 访问前端
  • 访问前端在某些计算机上连接没有问题,无法在其他计算机上连接。
  • 用VC#编写的单独实用程序在所有尝试的地方都能正常工作,包括Access前端不起作用的机器。
  • 服务器上的Profiler跟踪不显示Access前端似乎无法正常工作的任何连接尝试。

我已经尝试安装Access数据库引擎,我已经尝试在一台机器上安装SSMS(没有骰子),我安装了尽可能多的Microsoft驱动程序,但我似乎没有什么区别。我倾向于认为问题不是驱动程序,而是某种与网络相关的问题,并且以某种方式特定于Access。

有任何想法吗?是否有一些我不知道的神秘软件要求?

sql-server ms-access odbc
1个回答
0
投票

所以,我找到了this线程,有人在第一次尝试连接时遇到问题。事实证明这是一个防火墙问题。通过固定SQL Server实例正在使用的端口,并在防火墙中明确打开它,所有连接问题显然都会消失。为什么它在某些计算机上没有问题,我仍然不知道,但在做出这个改变后,一切都按照它应该做的。

© www.soinside.com 2019 - 2024. All rights reserved.