Ich habe eine C# -Anwendung, die beim Klicken auf eine Schaltfläche den SQL Server Management Studio-Abfrageeditor mit einer angegebenen Server- und Datenbankverbindung öffnet. Ich möchte die gleiche Funktionalität haben, aber mit einer bereits laufenden Instanz von SSMS (keinen neuen Prozess starten).Öffnen Sie neue Datenbankverbindung und Abfragefenster in SSMS durch C# -Anwendung?
Mein Code so weit:
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.
}
Ich dachte darüber nach, aber das würde Tastenkürzel erfordern. Tastenkürzel können bei Benutzern und Versionen unterschiedlich sein, daher glaube ich nicht, dass dies funktioniert. Voraussetzung ist, dass meine C# -Anwendung vordefinierten SQL-Code ausführt. Wenn ein Benutzer jedoch benutzerdefinierten SQL-Code ausführen möchte, muss er sich über SSMS mit dem Server/der Datenbank verbinden. – Fienix
Okay, das ist schwierig. Nicht sicher, ob dies in Ihre Anwendung passen würde: Warum erlauben Sie Ihrer Anwendung nicht, die Abfrage zu erhalten und in ihrem Namen auszuführen? Oder möchten Sie, dass der Benutzer SSMS vollständig ausnutzt? – tempidope
Ich glaube, ich würde SSMS benötigen. Ein Beispiel wäre, weil wir geschätzte Ausführungspläne einsehen müssen. – Fienix