예제 #1
0
        /// <summary>Конструктор класса</summary>
        /// <param name="path">Полный путь к каталогу для обработки файлов и записи в БД</param>
        /// <param name="dbConnData">Сведения о соединении с БД (кортеж: host, port, sid, user, password)</param>
        public MyTask(string path, Tuple <string, int, string, string, string> dbConnData)
        {
            this.path = path;
            Console.WriteLine("Инициализация модуля сохранения результатов в БД");
            try
            {
                dbHandle        = new OracleDatabase(dbConnData.Item1, dbConnData.Item2, dbConnData.Item3, dbConnData.Item4, dbConnData.Item5);
                dbWwriterHandle = new DBTaskWriter(dbHandle, FileHashSumInfoSet);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Ошибка инициализации модуля сохранения результатов в БД");
                dbHandle.Dispose();
                throw new Exception(ex.Message);
            }

            Console.WriteLine("Инициализация модуля получения хеш-сумм");
            hashSumFileCollectorHandle = new HashSumFileCollector(dbWwriterHandle, FileHashSumInfoSet);
        }
예제 #2
0
파일: OraZip.cs 프로젝트: radtek/wscope
        private void button1_Click(object sender, EventArgs e)
        {
            OracleDatabase db = null;
              string constring = "user id=hs_fund;password=handsome;data source=devgh";
              OperLog oplog = OperLog.instance;

              try
              {
              // Create an instance of an OracleDatbase object
              db = new OracleDatabase(constring);

              // Start up the database
              //db.Startup();

              Console.WriteLine("The Oracle database is now up.");

              // Executing Startup() is the same as the following:
              // db.Startup(OracleDBStartupMode.NoRestriction, null, true);
              // which is also the same as:
              // db.Startup(OracleDBStartupMode.NoRestriction, null, false);
              db.ExecuteNonQuery("");
              // db.ExecuteNonQuery("ALTER DATABASE OPEN");
              }
              catch (OracleException ex)
              {
              string err = "连接Oracle数据库失败,TNSNAME:racle异常信息:" + ex.Message;
              oplog.WriteLog(err, LogLevel.Error);
              System.Windows.Forms.MessageBox.Show(err);
              }
              catch (Exception ex)
              {
              string err = "连接Oracle数据库失败,TNSNAME:异常信息:" + ex.Message;
              oplog.WriteLog(err, LogLevel.Error);
              System.Windows.Forms.MessageBox.Show(err);
              }
            finally
             {
              // Dispose the OracleDatabase object
              db.Dispose();
             }
        }
예제 #3
0
파일: OraZip.cs 프로젝트: radtek/wscope
        private void button1_Click(object sender, EventArgs e)
        {
            OracleDatabase db        = null;
            string         constring = "user id=hs_fund;password=handsome;data source=devgh";
            OperLog        oplog     = OperLog.instance;

            try
            {
                // Create an instance of an OracleDatbase object
                db = new OracleDatabase(constring);

                // Start up the database
                //db.Startup();

                Console.WriteLine("The Oracle database is now up.");

                // Executing Startup() is the same as the following:
                // db.Startup(OracleDBStartupMode.NoRestriction, null, true);
                // which is also the same as:
                // db.Startup(OracleDBStartupMode.NoRestriction, null, false);
                db.ExecuteNonQuery("");
                // db.ExecuteNonQuery("ALTER DATABASE OPEN");
            }
            catch (OracleException ex)
            {
                string err = "连接Oracle数据库失败,TNSNAME:racle异常信息:" + ex.Message;
                oplog.WriteLog(err, LogLevel.Error);
                System.Windows.Forms.MessageBox.Show(err);
            }
            catch (Exception ex)
            {
                string err = "连接Oracle数据库失败,TNSNAME:异常信息:" + ex.Message;
                oplog.WriteLog(err, LogLevel.Error);
                System.Windows.Forms.MessageBox.Show(err);
            }
            finally
            {
                // Dispose the OracleDatabase object
                db.Dispose();
            }
        }
예제 #4
0
        /// <summary>Метод, запускающий выполнение задачи: получение хеш-сумм файлов и запись результатов в БД</summary>
        public void run()
        {
            int currentTick = System.Environment.TickCount;

            Console.WriteLine("Запуск модуля получения хеш-сумм");
            hashSumFileCollectorHandle.start();
            Console.WriteLine("Запуск модуля сохранения результатов в БД");
            dbWwriterHandle.start();

            try
            {
                DirectoryHelper dirHelper = new DirectoryHelper(path);

                foreach (string[] files in dirHelper)
                {
                    hashSumFileCollectorHandle.addFileToProcess(files);
                }

                hashSumFileCollectorHandle.requestStop();
                hashSumFileCollectorHandle.waitForTask();
                Console.WriteLine("Все файлы и папки обработаны, всего файлов обработано: {0}, ожидаем завершения работы с БД", hashSumFileCollectorHandle.ProcessedFilesCount);

                dbWwriterHandle.requestStop();
                dbWwriterHandle.waitForTask();

                Console.WriteLine("Работа с БД закончена, вставлено строк {0}", dbWwriterHandle.InsertedFilesCount);
                Console.WriteLine("Время выполнения задания (мс): {0}", System.Environment.TickCount - currentTick);
            }
            catch (Exception ex)
            {
                dbWwriterHandle.writeLogInfo(ex.Message);
                Console.WriteLine(ex.Message);
            }

            dbHandle.Dispose();
        }