.net - 如何确保连接字符串用于本地计算机

标签 .net sql-server connection-string sqlconnection

我正在创建一个通过 ADO.NET 连接到 MS SQL Sever 的客户端应用程序。我需要一个用户指定一个连接字符串来连接到数据库。但是,用户应该只连接到安装在他们机器上的 SQL Server Express。我需要检查连接字符串以确定它是否是本地字符串。

显而易见的想法是检查 CS 是否以“.”开头。或“本地”或“*this_machine_name*”。但我不确定这是否涵盖所有可能的情况。

有没有更好的方法来执行这样的检查?

UPD:我的意思是本地机器上可能有多个 SQL Server 实例,并且实例名称未知。也可能有一个未命名的实例。

UPD2:实际上我只要求用户指定一个 SQLServer 实例。

谢谢你。

最佳答案

检索连接字符串,从中提取主机名,将主机名传递给 System.Net.Dns.GetHostEntry(String),瞧!您将获得一个包含 IP 地址的 IPHostEntry 实例。检查 127.0.0.1 是否存在。

关于.net - 如何确保连接字符串用于本地计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7429737/

相关文章:

c# - 如何检查数据库是否存在?

c# - 连接字符串的正确提供程序格式

sql-server - 将某些(任何)类型的上下文信息从 SSAS 连接字符串传递到基础数据库

c# - 在 FlowLayoutPanel 中居中放置多行控件

c++ - 错误 C2440 '=' : cannot convert from 'cli::array<Type> ^' to 'wchar_t'

c# - 在 GridView 中显示包含列表的对象列表

c# - 当我在 ASP MVC 、 SQL 和 Entity Framework 的基础中记录时,值传递 NULL

SQL 根据条件求和不同列的值

.net - 在 Windows 窗体中加载与显示事件

sql - 这两个查询有什么区别?