Mam aplikację C#, która po kliknięciu przycisku otworzy edytor zapytań SQL Server Management Studio z określonym połączeniem z serwerem i bazą danych. Chciałbym mieć tę samą funkcjonalność, ale z już działającą instancją SSMS (nie rozpoczynać nowego procesu).Otwórz nowe okno połączenia i zapytania bazy danych w SSMS poprzez aplikację C#?
Mój kod do tej pory:
if (IsProcessOpen("Ssms") == false)
{
Process ssms = new Process();
ssms.StartInfo.FileName = "C:\\Program Files (x86)\\Microsoft SQL Server\\110\\Tools\\Binn\\ManagementStudio\\Ssms.exe";
ssms.StartInfo.Arguments = "-S " + StaticVariables.Getserver + " -d " + StaticVariables.Getdatabase;
ssms.Start();
}
else
{
//In already running SSMS process, open connection to server and database with new query window.
}
Myślałem o tym, ale wymagałoby to klawiszy skrótu. Klawisze skrótów mogą być różne dla różnych użytkowników i wersji, więc nie sądzę, aby to działało. Wymaganie jest takie, że moja aplikacja C# wykonuje wstępnie zdefiniowany kod SQL, ale jeśli użytkownik chciałby wykonać niestandardowy kod SQL, musiałby połączyć się z serwerem/bazą danych przez SSMS. – Fienix
OK, to trudne. Nie jestem pewien, czy pasowałoby to do twojej aplikacji: dlaczego nie pozwolić, aby twoja aplikacja otrzymała zapytanie i wykonała w jego imieniu? czy chcesz, aby użytkownik mógł w pełni korzystać z SSMS? – tempidope
Wierzę, że potrzebowałbym SSMS. Jednym z przykładów może być przegląd planów szacunkowych wykonania. – Fienix