2

我正在尝试以编程方式打开 SQL Server Management Studio,我使用Process打开 SQL Server 并使用 Start() 方法打开进程,

                    using System.Diagnostics;
                    Process Sql = new Process();
                    string strfile1="example1.sql";
                    string strfile2="example2.sql";
                    Sql.StartInfo.FileName = "Ssms.exe";//sql server process
                    Sql.StartInfo.Arguments = strfile1;
                    Sql.Start();
                    Sql.StartInfo.Arguments = strfile2;
                    Sql.Start();

此代码打开两个 SQL Server 实例,但我想检查该进程是否已在运行并重用现有进程并在同一进程中打开 example2.sql。这该怎么做?

4

2 回答 2

1

您可以检查一个进程是否按名称运行(您需要找出您的 ssms 进程的名称),如下所示:

Process[] procName= Process.GetProcessesByName("INSERT NAME HERE");
if (procName.Length >= 0)
{
  //you are already running
}

但我认为您无法修改现有的 ssms 实例。

于 2013-03-21T08:04:51.913 回答
1

如果您让操作系统决定要做什么怎么办?

Process.Start("example1.sql");
Process.Start("example2.sql");
于 2013-03-21T08:13:52.567 回答