2012-10-24 7 views
9

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. 
     } 

Odpowiedz

2

Jak dotąd moje badania idzie, nie ma dostępnych na interakcję z istniejącej SSMS processs API. (http://stackoverflow.com/questions/2334435/how-do-i-programmeically-open-a-new-tab-in-an-open-instance-of-sql-management-s)

You może spróbować zrobić włamanie obejmujące SendKeys, ale miałoby to wadę polegającą na tym, że nie znał aktualnego stanu okna SSMS (jeśli ma otwarte otwarte okno lub coś w tym stylu)

Jeśli mógłbyś podzielić się pierwotnym wymogiem, możemy wyglądać w niektórych lepszych alternatyw.

+0

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

+0

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

+0

Wierzę, że potrzebowałbym SSMS. Jednym z przykładów może być przegląd planów szacunkowych wykonania. – Fienix

Powiązane problemy