【问题标题】:MS Access to connect to SQL Server ExpressMS Access 连接到 SQL Server Express
【发布时间】:2013-12-30 00:10:43
【问题描述】:

好的,我有一个奇怪的问题,似乎没有逻辑意义。

我有一个在 ComputerA 上运行的 SQL Server Express。在ComputerA,我设计了一个MS Access 数据库客户端来访问这些数据。

我已将 MS Access 文件传输到 ComputerB(与 ComputerA 在同一网络上),我可以输入 usernamepassword,然后连接,我可以看到数据。此外,我可以在任何计算机上通过 PHP 访问我的 SQL Server Express。 (slsweb.ocmboces.org/loginpage/SQLTEST2.php)

ComputerCComputerD 上,我有相同的MS Access 文件。当我点击我的表单时,它要求我连接到 ComputerA 上的服务器 WIN-XXXXX。我使用相同的usernamepassword,但它不会连接。

我已尝试配置 ODBC 数据源,但它们无法连接到服务器。我还在服务器计算机的防火墙上打开了几乎所有内容,即ComputerA

我做错了什么?

【问题讨论】:

  • 你能从 C&D ping 计算机 A 吗?我假设您在工作组中,而不是使用 Active Directory 的网络。正确的?所有计算机都运行相同的操作系统和版本级别吗?通常你只需要打开 tcp/ip 和 1433 端口就可以从计算机连接到数据库服务器。
  • 使用命令 ping -a WIN-XXX?我相信我在一个工作组中。据我所知,所有计算机都在运行 Windows 7 @CRAFTYDBA
  • 打开命令提示符。所有的电脑都能ping通数据库吗?数据库能ping通所有的电脑吗?基本网络故障排除。
  • 当我从 ComputerC 和 ComputerD ping 时,我收到一条消息说它找不到服务器 @CRAFTYDBA
  • 那是你的问题。你在按名字 ping 吗?如果有,改成通过IP ping,不需要端口。您是否在任何地方运行 DNS?如果可行,请将 ODBC 更改为使用 IP 地址或创建 LMHOSTS 文件。

标签: php sql sql-server


【解决方案1】:

问题:无法按名称从客户端计算机 ping 到数据库服务器。

解决方案:仅使用 IP 地址设置 ODBC 连接。如果使用默认 (1433),则不需要端口号。

您还可以考虑创建 LMHOSTS 文件。

请参阅下面来自 Microsoft 的知识库文章,了解如何在 Windows 7 上执行此操作。基本上,该文件将服务器名称转换为 ip,可怜的人的 DNS。

http://support.microsoft.com/kb/101927

这是一篇关于动态 SQL Server 端口的入站规则的文章。只需谷歌添加入站/出站防火墙规则。

http://technet.microsoft.com/en-us/library/ms175043.aspx

【讨论】:

  • 我需要在防火墙上启用什么? @CraftyDBA
  • 关闭防火墙,现在可以ping通了吗?
  • 我的两个防火墙都关闭了,但 ping 仍然出现“请求超时”@craftydba
猜你喜欢
  • 2011-08-07
  • 2022-01-22
  • 2012-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多