为 SqlConnection 指定网络适配器
Posted
技术标签:
【中文标题】为 SqlConnection 指定网络适配器【英文标题】:Specifying a network adapter for SqlConnection 【发布时间】:2015-05-03 12:12:04 【问题描述】:我的机器上有 2 个网卡:
网络 A 自动分配 IP 地址。
网络 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)路由到想要的网卡来解决。设置路由的方法见***.com/a/11535395/2516770。 【参考方案1】:在常见情况下,您不能选择网络适配器来手动路由传出流量,因为这可能会破坏您的安全性。只需谷歌搜索“强主机模型”和“弱主机模型”(这取决于 Windows 的操作系统版本和 Linux 的分发来源)。
例如,这是对此事的一个很好的概述:https://blogs.technet.microsoft.com/networking/2009/04/24/source-ip-address-selection-on-a-multi-homed-windows-computer
所以说到底,网卡选择与你无关。如果您的连接不稳定,您必须对网络进行故障排除(路由器故障、吞吐量过载、防火墙检查延迟等)。
【讨论】:
以上是关于为 SqlConnection 指定网络适配器的主要内容,如果未能解决你的问题,请参考以下文章