我需要一种用于定位SQL Server实例的机制

时间:2010-04-06 06:50:45

标签: c# sql-server database

我有一个想法,我想将它应用到我的应用程序(C#.NET)。

当我们连接到VS 2008中的数据库(MS SQL Server 2008)时,ConnectionString保存在应用程序设置中,它是一个静态变量(没有人可以编辑它,除非你在VS 2008中编辑它)。

我想让我的应用程序搜索MS SQL Server并将其保存到应用程序设置并使用它以编程方式连接到我的数据库。

当我的应用程序启动时,首先要做的是检查ConnectionString是否为vaild,NOT Empty并测试与MS SQL Server的连接成功如此,如果有一个问题,我想显示一个窗口表单让用户输入一些数据像MS SQL Server 2008的用户名和密码

有什么办法吗?

4 个答案:

答案 0 :(得分:1)

例如,你有一个名为dbname,dbtype,uid,pwd的全局变量;并假设您有一个方法HitTest(strConnectionString):bool“尝试”SELECT一个表,如果找到有效的行数则返回true;否则就是假的。

当你开始时,应用程序应该执行以下操作。

  1. 根据dbtype加入dbname,uid和pwd并准备strConnectionString
  2. 致电HitTest(strConnectionString);
  3. 如果为true,请继续加载应用,否则请阅读更多内容。
  4. 弹出一个对话框,询问dbname,dbtype,uid,pwd。
  5. 转到1。
  6. <强> - 编辑 -

    请参阅Enumerating Instances of SQL ServerEnumerate SQL Server Instances in C#, Using ODBC

答案 1 :(得分:1)

您可以使用SMO(服务器管理对象),仅适用于SQL 2005/2008。

SMO samples

SMO SqlServerList Sample

答案 2 :(得分:0)

您可以在App.Settings中以编程方式更改设置... 类似的东西:

Properties.Settings.Default.yourVariable=x;
Properties.Settings.Default.Save();

答案 3 :(得分:0)

也许this CodeProject article是你需要的。