내 Windows 응용 프로그램에서 로컬 서버를 얻으려면 아래 코드를 사용합니다. SQL Server 2012를 사용할 때 오류없이 작동하지만 SQL Server 2016을 다운로드하면 예외가 발생합니다.SQL Server 2016 목록 인스턴스
예외 : 서비스를 관리하는 동안 SMO에서 예외가 발생했습니다. 내부 예외 :이 요청에 대한 데이터를 검색하지 못했습니다.
강령 :
public List<string> findLocalServers()
{
var servers = new List<string>();
try
{
var serverCollection = new ManagedComputer().ServerInstances.Cast<ServerInstance>().Select(instance => String.IsNullOrEmpty(instance.Name) ?
instance.Parent.Name : instance.Parent.Name)
.ToArray();
foreach (var server in serverCollection.Where(server => !servers.Contains(server)))
{
servers.Add(server);
}
return servers;
}
catch (Exception ex)
{
return null;
}
}
SQL Server 2016 설치에서 DLL이 필요할 수도 있습니다. –
이미 추가했습니다. –
'String.IsNullOrEmpty (instance.Name)? instance.Parent.Name : instance.Parent.Name'입니다. 당신이 쓰고 싶은 것이 맞습니까? –