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

时间:2011-09-15 11:01:37

标签: .net sql-server connection-string sqlconnection

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

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

有没有更好的方法来执行此类检查?

UPD:我暗示本地计算机上可能有多个SQL Server实例,并且实例名称未知。也可能有一个未命名的实例。

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

谢谢。

2 个答案:

答案 0 :(得分:0)

而不是验证连接字符串,是否更容易提示用户输入数据库名称,是否使用集成的auth,如果不是,则使用用户名和密码,然后使用'建立自己的连接字符串' (本地)'作为服务器?

答案 1 :(得分:0)

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