Ho un'applicazione C# che, quando un utente fa clic su un pulsante, apre l'editor di query di SQL Server Management Studio con una connessione server e database specificata. Quello che mi piacerebbe fare è essere in grado di avere questa stessa funzionalità, ma con un'istanza di SSMS già in esecuzione (non avviare un nuovo processo).Aprire una nuova connessione al database e una finestra di interrogazione in SSMS tramite l'applicazione C#?
Il mio codice finora:
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.
}
Ho pensato di farlo, ma ciò richiederebbe i tasti di scelta rapida. I tasti di scelta rapida potrebbero essere diversi tra utenti e versioni, quindi non penso che funzionerebbe. Il requisito è che la mia applicazione C# esegua codice SQL predefinito, ma se un utente volesse eseguire codice SQL personalizzato, dovrebbe connettersi al server/database tramite SSMS. – Fienix
Ok, è difficile. Non sono sicuro se questo si adatterebbe alla tua domanda: perché non consentire alla tua applicazione di ottenere la query ed eseguirla per suo conto? o vuoi che l'utente ottenga il pieno utilizzo di SSMS? – tempidope
Credo che avrei bisogno di SSMS. Un esempio potrebbe essere dovuto alla necessità di visualizzare i piani di esecuzione stimati. – Fienix