Esempio n. 1
0
        /// <summary>
        /// starts the database process if it's not running
        /// </summary>
        /// <param name="Parameter"></param>
        public DBProcess(DBProcessParams Parameter)
        {
            m_Params = Parameter;

            m_wasRunning = IsListenerOnPort(m_Params.Port);
            
            if(!m_wasRunning)
            {
                ProcessStartInfo psi;

                // start the DB server process
                if(Debugger.IsAttached)
                { 
                    psi                         = new ProcessStartInfo(m_Params.Commandline,m_Params.Commandargs);
                    psi.WorkingDirectory        = m_Params.Workingdirectory;
                    psi.WindowStyle             = ProcessWindowStyle.Normal;
                    psi.CreateNoWindow          = false;
                    psi.RedirectStandardOutput  = false;
                    psi.UseShellExecute         = true;
                }
                else
                { 
                    psi                         = new ProcessStartInfo(m_Params.Commandline,m_Params.Commandargs);
                    psi.WorkingDirectory        = m_Params.Workingdirectory;
                    psi.WindowStyle             = ProcessWindowStyle.Hidden;
                    psi.CreateNoWindow          = true;
                    psi.RedirectStandardOutput  = false;
                    psi.UseShellExecute         = true;
                     
                }

                m_Process = System.Diagnostics.Process.Start(psi);

                // wait for db ready state
                Boolean isRunning = false;
                PerformanceTimer pc = new PerformanceTimer();

                pc.startMeasuring();
                System.Threading.Thread.Sleep(1000);

                if (!m_Process.HasExited)
                {
                    do
                    {

                        isRunning = IsListenerOnPort(m_Params.Port);

                        if(!isRunning)
                            System.Threading.Thread.Sleep(1000);
                    
                        Debug.Print("Waiting " + pc.currentMeasuring().ToString());

                    } while ((!isRunning) && ((pc.currentMeasuring() / 1000) < m_Params.DBStartTimeout));
                }
                else
                {
                    throw new Exception("can't start sql server !");
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// starts the database process if it's not running
        /// </summary>
        /// <param name="Parameter"></param>
        public DBProcess(DBProcessParams Parameter)
        {
            m_Params = Parameter;

            m_wasRunning = IsListenerOnPort(m_Params.Port);

            if (!m_wasRunning)
            {
                ProcessStartInfo psi;

                // start the DB server process
                if (Debugger.IsAttached)
                {
                    psi = new ProcessStartInfo(m_Params.Commandline, m_Params.Commandargs);
                    psi.WorkingDirectory       = m_Params.Workingdirectory;
                    psi.WindowStyle            = ProcessWindowStyle.Normal;
                    psi.CreateNoWindow         = false;
                    psi.RedirectStandardOutput = false;
                    psi.UseShellExecute        = true;
                }
                else
                {
                    psi = new ProcessStartInfo(m_Params.Commandline, m_Params.Commandargs);
                    psi.WorkingDirectory       = m_Params.Workingdirectory;
                    psi.WindowStyle            = ProcessWindowStyle.Hidden;
                    psi.CreateNoWindow         = true;
                    psi.RedirectStandardOutput = false;
                    psi.UseShellExecute        = true;
                }

                m_Process = System.Diagnostics.Process.Start(psi);

                // wait for db ready state
                Boolean          isRunning = false;
                PerformanceTimer pc        = new PerformanceTimer();

                pc.startMeasuring();
                System.Threading.Thread.Sleep(1000);

                if (!m_Process.HasExited)
                {
                    do
                    {
                        isRunning = IsListenerOnPort(m_Params.Port);

                        if (!isRunning)
                        {
                            System.Threading.Thread.Sleep(1000);
                        }

                        Debug.Print("Waiting " + pc.currentMeasuring().ToString());
                    } while ((!isRunning) && ((pc.currentMeasuring() / 1000) < m_Params.DBStartTimeout));
                }
                else
                {
                    throw new Exception("can't start sql server !");
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// starts the database process if it's not running
        /// </summary>
        /// <param name="Parameter"></param>
        public DBProcess(DBProcessParams Parameter)
        {
            IPGlobalProperties      ipGlobalProperties;
            IPEndPoint[]            tcpConnInfoArray;

            m_Params = Parameter;

            ipGlobalProperties      = IPGlobalProperties.GetIPGlobalProperties();
            tcpConnInfoArray        = ipGlobalProperties.GetActiveTcpListeners();

            // check if the port is open - if open we assume the db is running
            foreach (IPEndPoint tcpi in tcpConnInfoArray)
                if (tcpi.Port == m_Params.Port)
                {
                    m_wasRunning = true;
                    break;
                }

            if(!m_wasRunning)
            {
                ProcessStartInfo psi;

                // start the DB server process
                if(Debugger.IsAttached)
                {
                    psi                         = new ProcessStartInfo(m_Params.Commandline,m_Params.Commandargs);
                    psi.WorkingDirectory        = m_Params.Workingdirectory;
                    psi.WindowStyle             = ProcessWindowStyle.Normal;
                    psi.CreateNoWindow          = false;
                    psi.RedirectStandardOutput  = false;
                    psi.UseShellExecute         = true;
                }
                else
                {
                    psi                         = new ProcessStartInfo(m_Params.Commandline,m_Params.Commandargs);
                    psi.WorkingDirectory        = m_Params.Workingdirectory;
                    psi.WindowStyle             = ProcessWindowStyle.Hidden;
                    psi.CreateNoWindow          = true;
                    psi.RedirectStandardOutput  = false;
                    psi.UseShellExecute         = true;

                }

                m_Process = System.Diagnostics.Process.Start(psi);

                // wait for db ready state
                Boolean isRunning = false;
                PerformanceTimer pc = new PerformanceTimer();

                pc.startMeasuring();
                System.Threading.Thread.Sleep(1000);

                if (!m_Process.HasExited)
                {
                    do
                    {
                        ipGlobalProperties      = IPGlobalProperties.GetIPGlobalProperties();
                        tcpConnInfoArray        = ipGlobalProperties.GetActiveTcpListeners();

                        foreach (IPEndPoint tcpi in tcpConnInfoArray)
                            if (tcpi.Port == m_Params.Port)
                            {
                                isRunning = true;
                                break;
                            }

                        if(!isRunning)
                            System.Threading.Thread.Sleep(1000);

                        Debug.Print("Waiting " + pc.currentMeasuring().ToString());

                    } while ((!isRunning) && ((pc.currentMeasuring() / 1000) < m_Params.DBStartTimeout));
                }
                else
                {
                    throw new Exception("can't start sql server !");
                }
            }
        }