コード例 #1
0
ファイル: plgFBConnect.cs プロジェクト: IngvarRiga/DBConnect
        //-- Конструктор класса сразу инициализирует соединение с БД
        public plgFBConnect(
            string DB,                 //-- имя базы данных или файла базы данных
            string user = "******",    //-- пользователь, под которым производится соединение
            string pass = "******", //-- пароль пользователя
            DBServerStateType ServerStateType = DBServerStateType.Standart,
            string Host = "",          //-- имя компьютера или IP адрес сервера, "" - сервер на локальной машине
            int Port    = 3050,        //-- порт, по которому сервер слушает обращение к себе
            int Timeout = 120)
        {
            LastSQL = String.Empty;
            if (!File.Exists(DB))
            {
                ServiceWins.ShowError(new FileNotFoundException(String.Format("Файл {0} не найден.", DB)));
                this.Dispose();
                return;
            }
            //-- инициализация необходимых переменных
            csb = new FbConnectionStringBuilder();
            //-- настройка соединения с сервером и БД
//   csb.Host = Host; //-- Хост, на котором развернута БД
            //  csb.Port = Port; //-- Порт
            csb.Database          = DB;   //-- база данных
            csb.UserID            = user; //-- пользователь
            csb.IsolationLevel    = IsolationLevel.ReadCommitted;
            csb.Port              = Port;
            csb.Charset           = "UTF8";
            csb.Dialect           = 3;
            csb.ConnectionTimeout = Timeout;
            //-- время задается в секундах, по умолчанию - 20 секунд, а потом генерируется ошибка
            csb.Password = pass;
            //-- тип сервера (Embedded - переносной (portable)
            if (ServerStateType == DBServerStateType.Standart)
            {
                csb.ServerType = FbServerType.Default;
            }
            else
            {
                csb.ServerType = FbServerType.Embedded;
            }
            //-- инициализация строки подключения к базе данных
            ConnectString = csb.ToString();
            try
            {
                db = new FbConnection(ConnectString);
            }
            catch (Exception ex)
            {
                ServiceWins.ShowError(ex);
                Dispose();
            }
        }
コード例 #2
0
 /// <summary>
 /// Инициализация данных основного соединения с БД (которое будет использоваться по умолчанию в случае соединения с несколькими БД)
 /// </summary>
 /// <param name="ConnectType"> Тип соединения</param>
 /// <param name="DB">Имя базы данных или файла базы данных</param>
 /// <param name="pass">Пароль пользователя</param>
 /// <param name="Host">Имя компьютера или IP адрес сервера, "localhost" - сервер на локальной машине</param>
 /// <param name="Port">Порт, по которому сервер слушает обращение к себе</param>
 /// <param name="user">Пользователь, под которым производится соединение</param>
 /// <param name="Timeout">Максимальное время ожидания ответа сервера</param>
 /// <param name="ServerStateType">Задает тип используемого сервера Стандартный или встраиваемый (имеет значение только для FireBird)</param>
 /// <param name="mainDB">true (по умолчанию) - задает параметры соединения с основной БД, которые сохраняются внутри класса (функция возвращает null). false - задает параметры соединения
 /// с вторичной БД, при этом настроенный коннектор возвращается функцией</param>
 public static Connector Init(DBInterfaceType ConnectType,
                              string DB,
                              string pass,
                              string Host,
                              int Port,
                              string user,
                              int Timeout = 120,
                              DBServerStateType ServerStateType = DBServerStateType.Standart,
                              bool mainDB = true
                              )
 {
     if (mainDB)
     {
         MainDB.DB_Timeout      = Timeout;
         MainDB.ConnectType     = ConnectType;
         MainDB.DB_Name         = DB;
         MainDB.DB_Password     = pass;
         MainDB.DB_Host         = Host;
         MainDB.DB_Port         = Port;
         MainDB.DB_User         = user;
         MainDB.ServerStateType = ServerStateType;
         //-- данные соединения с основной базой данных хранятся внутри статического экземпляра
         //-- и используются по умолчанию, если не задается параметр Connector в вызывающих функциях
         return(MainDB);
     }
     else
     {
         return(new Connector()
         {
             DB_Timeout = Timeout,
             ConnectType = ConnectType,
             DB_Name = DB,
             DB_Password = pass,
             DB_Host = Host,
             DB_Port = Port,
             DB_User = user,
             ServerStateType = ServerStateType
         });
     }
 }