Reputation: 31
I am creating a Windows app in which I need to create a connection string automatically. I create a Windows form similar to SQL Server Management Studio Connect to server form. For this I need few things
local SQL server Name of the system.
After user fill the form like select server Name and authentication type then i need to check that that filled details are correct.
I need to create automatic connection string in c# and create automatic database and for this I execute SQL query in c# code that are working fine.
So help me get the instance name and check the data is valid in C# window application.
Upvotes: 3
Views: 2006
Reputation: 2754
To get all instances of local network (and local) you can use this code: (from MSDN)
SqlDataSourceEnumerator instance = SqlDataSourceEnumerator.Instance;
System.Data.DataTable table = instance.GetDataSources();
And to test connection string you can simply open a connection with generated connection string. like this: (from this answer)
string provider = "System.Data.SqlClient"; // for example
DbProviderFactory factory = DbProviderFactories.GetFactory(provider);
using(DbConnection conn = factory.CreateConnection()) {
conn.ConnectionString = cs;
conn.Open();
}
Upvotes: 3
Reputation: 8869
use ManagedComputer,
using Microsoft.SqlServer.Management.Smo.Wmi;
ManagedComputer mc = new ManagedComputer();
foreach (ServerInstance si in mc.ServerInstances)
{
Console.WriteLine("The installed instance name is " + si.Name);
}
Upvotes: 2