Exemplo n.º 1
0
        private Program(String[] args)
        {
            _options = new Options();
            if (!CommandLine.Parser.Default.ParseArguments(args, _options))
            {
                throw new Exception("Unexpected command line.");
            }

            var iconfig = _options.ParseInputOption();
            if (iconfig == Options.InputConfiguration.Invalid)
            {
                Console.WriteLine("The input source must be a SQL Profiler capture file or a live SQL connection.");
                Console.WriteLine("\tTo use an input file, specify the TRC file with -f");
                Console.WriteLine(
                    "\tTo use a live connection, specify the SQL connection string with -c and the SQL Profiler configuration with -t");
                Console.WriteLine();
                Console.WriteLine(_options.GetUsage());
                Environment.Exit(-1);
            }

            if (iconfig == Options.InputConfiguration.File)
            {
                // use a file source
                _traceSource = new TraceSource(_options.InputFile);
            }
            else
            {
                // use a SQL connection source
                var csb = new SqlConnectionStringBuilder(_options.SqlConnectionString);
                var conn = csb.IntegratedSecurity
                    ? new SqlConnectionInfo(csb.DataSource)
                    : new SqlConnectionInfo(csb.DataSource, csb.UserID, csb.Password);
                _traceSource = new TraceSource(conn, _options.TdfFile);
            }

        }