【问题标题】:Specifying a network adapter for SqlConnection为 SqlConnection 指定网络适配器
【发布时间】:2015-05-03 12:12:04
【问题描述】:

我的机器上有 2 个网卡:

  1. 网络 A 自动分配 IP 地址。

  2. 网络 B 是 SQL Server 所在的位置。

当我使用 C# 连接时,连接是断断续续的。 我可以指定我的 C# 代码来使用特定的网络适配器吗?

SqlConnection myConnection = new SqlConnection(
                                 "user id=username;"
                               + "password=password;"
                               + "server=serverurl;"
                               + "Trusted_Connection=yes;" 
                               + "database=database;"
                               + "connection timeout=30");

【问题讨论】:

  • 没有。两个网络是否共享 IP 方案?如果没有,它应该可以正常工作。如果是这样,您可能会遇到更大的问题。
  • ip scheme是什么意思?
  • 两个网络上会出现相同的 IP 地址吗?如果是这样,您不知道要查看哪个适配器(通常,不仅适用于 SQL Server)
  • 如果禁用 A,请确保它的不是间歇性的?否则,不,我不知道你的问题出在哪里。
  • 这可以通过配置windows将SQL Server默认端口(1433)路由到想要的网卡来解决。设置路由的方法见stackoverflow.com/a/11535395/2516770

标签: c#


【解决方案1】:

在常见情况下,您不能选择网络适配器来手动路由传出流量,因为这可能会破坏您的安全性。只需谷歌搜索“强主机模型”和“弱主机模型”(这取决于 Windows 的操作系统版本和 Linux 的分发来源)。

例如,这是对此事的一个很好的概述:https://blogs.technet.microsoft.com/networking/2009/04/24/source-ip-address-selection-on-a-multi-homed-windows-computer

所以说到底,网卡选择与你无关。如果您的连接不稳定,您必须对网络进行故障排除(路由器故障、吞吐量过载、防火墙检查延迟等)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-08
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-04
    相关资源
    最近更新 更多