gpt4 book ai didi

c# - 如何通过 HTTP 从 C# 应用程序连接到 SQL Server?

转载 作者:太空宇宙 更新时间:2023-11-03 10:52:01 25 4
gpt4 key购买 nike

我们有一个遗留的 WinForms 应用程序(由其他人编写),它使用 ADO.NET(.NET 2.0,C#)直接连接到 SQL Server。我们想教这个应用程序与很远的 SQL Server 对话(不在应用程序运行的同一个 LAN 中)。

我想到的第一个想法是以与 SSL Explorer ( http://sourceforge.net/projects/sslexplorer/ ) 相同的方式工作:建立隧道(仍然不知道如何)并将 ADO.NET 连接字符串更改为 127.0 .0.1:34761(某个端口),并使 .NET 应用程序连接到本地端口,认为这是 SQL Server 实例,我们的代码将以某种方式将此流量重定向到我们的 Web 服务(接近真正的 SQL服务器是),我们的 Web 服务连接到真正的 SQL Server。

所以,一般来说,接下来的目标是:在不修改 C# 应用程序的所有代码的情况下,在 Main() 方法的开头添加一些行(初始化隧道),并开发一个 ASP.NET web 服务,它获取所有数据包并转发到真正的 SQL Server 实例。

问题:有谁知道如何制作这样的“隧道”?
也许有人知道是否有一些工作样本?

最佳答案

如果您不想更改您的 C# 代码,您基本上有以下选择:

  • 创建 VPN(例如使用 PPTP、IPSec 或 OpenVPN)。这是最安全的选择。

  • 配置 SQL Server 的防火墙以允许从客户端 IP 访问 SQL Server 的端口。这是最不安全的选项。

  • 在与 SQL Server 相同的网络中安装终端服务器并在其中运行您的应用程序。

曾经有一个通过 HTTP 连接到 SQL Server 的选项,但该功能 has been deprecated with SQL Server 2008removed with SQL Server 2012 .但即使它仍然可用,我认为它也不允许直接连接 OLEDB 或 SqlClient。

关于c# - 如何通过 HTTP 从 C# 应用程序连接到 SQL Server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21117336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com