- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在我的本地系统上使用 windows-7 Sp-1 和 Sql server 2012。以及服务器系统上的 Windows Server 2008 R2 Sp-1 和 Sql server 2012。当我使用
SmoApplication.EnumAvailableSqlServers();
当时它只显示网络实例。它不显示任何本地实例。当我使用
SmoApplication.EnumAvailableSqlServers(true);
然后它返回空白数据表。在这种情况下该怎么办。
最佳答案
我在不同的电脑上时不时遇到同样的问题,我还没有找到任何解释。看起来这个问题在某种程度上与本地机器上的防火墙、UDP 数据包和 SQL Server Browser 服务有关(AFAIK,SmoApplication.EnumAvailableSqlServers
使用 SQL Server Browser 甚至用于本地实例,而 SQL Server Browser 反过来,使用广播数据包来发现 SQL Server 服务。
我实现的解决方法使用 ManagedComputer
来自 SMO 的类(class):
private const String defaultMsSqlInstanceName = "MSSQLSERVER";
public String[] GetLocalSqlServerInstances()
{
return new ManagedComputer()
.ServerInstances
.Cast<ServerInstance>()
.Select(instance => String.IsNullOrEmpty(instance.Name) || instance.Name == defaultMsSqlInstanceName ?
instance.Parent.Name : Path.Combine(instance.Parent.Name, instance.Name))
.ToArray();
}
此外,它比 SmoApplication.EnumAvailableSqlServers(true)
运行得更快。
希望这会有所帮助。
关于c# - SmoApplication.EnumAvailableSqlServers 不检索本地服务器实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15967817/
我在我的本地系统上使用 windows-7 Sp-1 和 Sql server 2012。以及服务器系统上的 Windows Server 2008 R2 Sp-1 和 Sql server 2012
我正在尝试使用以下 C# 代码在列表框中显示可用的 SQL 服务器: DataTable dt = SmoApplication.EnumAvailableSqlServers(false); for
我是一名优秀的程序员,十分优秀!