获取SQL Server的本地实例而不是命名实例

时间:2010-07-29 09:38:20

标签: sql-server vb.net sql-server-2005

不久前,我写了一个基于网络的留言簿应用程序,编写了自己的数据库。

我的代码非常业余,但是,由于这是我的第一本出版物,我对它非常满意。 在我发布它之后大约一个月,我意识到我在代码中犯了一个大错。

我只连接到SQL Server的特定命名实例,并且在我看来,如果SQL Server实例的名称与我指定的名称不同,则它将无效。

因此,由于我的用户可能不知道正在运行的SQL Server实例的名称是什么,我想添加一个用户可以指定它的字段,如果他们这样做会有帮助,但如果他们不这样做呢? 我的答案是获取本地实例,无论名称如何。

我尝试了Data Source=.\local;Data Source=.;和其他变体,但没有任何效果。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

非命名实例称为“默认实例”,可以使用"Data Source=(local);..."访问。

答案 1 :(得分:0)

了解哪些实例正在运行的唯一方法是查询SQL Browser服务(如果它正在运行)。 我猜你的大多数用户都在运行SQL Server Express?如果是这样,该服务称为local \ SQLEXPRESS。如果没有,它是本地的,或者他们自己命名。所以,我先尝试本地\ SQLEXPRESS,然后再尝试本地。如果没有,只需抛出异常并要求用户自己添加。