在混乱的网络上指定SQL Server连接字符串

时间:2011-10-02 02:05:43

标签: winforms sql-server-2008 connection-string

我开始提问之前的当前情景

  1. 需要在 LAN 上部署 C#Winforms应用程序

  2. 该网络包含 200台运行Windows XP(及以上版本)且具有相同域/工作组的计算机。

  3. 不幸的是,整个网络仍然存在一些混乱和 IP冲突

  4. 网络仍在运作 !! ...(哼...)

  5. 中央服务器(具有唯一名称和IP)托管数据库( SQL Server 2008 R2

  6. 应用程序可以在客户端计算机上指定 connectionstring

  7. 应用验证此字符串(打开>关闭连接其他例外)并存储在本地文件中。

  8. 现在,我的问题是......

      

    应用程序在检查阶段成功连接到服务器(打开>关闭连接),但是当要从服务器获取实际数据集时失败

    • 在这个混合场景中哪个最可靠的方式来解决连接字符串中的服务器

    即使我使用“sa”帐户,我仍然使用计算机名称/ IP 来解决服务器

1 个答案:

答案 0 :(得分:1)

当你说你的应用程序“在获取实际数据集时失败”时,你的意思是什么?错误是什么?将您的SqlDataAdapter.Fill()方法封装在try catch块中,并将该错误输出到日志或GUI以进行快速调试。这个错误说的是什么?它是网络还是实例相关的问题..?

应用程序成功连接到服务器 您是在谈论服务器作为物理机器,还是在谈论容纳您尝试连接的数据库的SQL Server实例?

这是一个很大的“陷阱”。如果您使用的是命名实例,则需要确保SQL Server Browser服务正在包含SQL Server实例的服务器上运行。这是通过端口1434到达时通知应用程序命名实例正在侦听的动态端口的服务。

此外,您的连接字符串可能存在一些问题。

长话短说,几乎不可能用很少的特定信息判断你的问题是什么。这只是猜测故障排除。请给我更多信息。

编辑:如果您的网络上有DHCP / DNS服务器,那么我不明白为什么您应该“弄乱”工作站网络问题,至少在IP分配和名称解析方面。您的工作站需要能够解析服务器名称才能到达它。但这听起来不是你的问题。