/// <summary> /// Notice: /// Because OleDB Suppor many db types . /// So the UsingOleDbType property in LoginInfo should be specifed. otherwise will use default db type -->Here is Access /// </summary> /// <param name="pInfo"></param> public override void Open(BaseLoginInfo pInfo) { //Record to base class (Vital) baseLoginInfo = pInfo; LoginInfo_Effiproz myInfo = pInfo as LoginInfo_Effiproz; LoginInfo_ForAllDbTypes allInfo = pInfo as LoginInfo_ForAllDbTypes; if ((myInfo == null) && (allInfo == null)) { throw new ArgumentException("Only Support Effiproz login info and AllDBTypes Info"); } if (IsOpened) { return; } string myConnString = string.Empty; try { if (allInfo != null) { myInfo = new LoginInfo_Effiproz(); myInfo.InitialCatalog = allInfo.Database; myInfo.Username = allInfo.Username; myInfo.Password = allInfo.Pwd; } myConnString = ConnSTR.DbConnectionString.EffiprozConnStr.GetConnectionString(myInfo.DBConnectionType, myInfo.InitialCatalog, myInfo.Username, myInfo.Password); baseConn = new EfzConnection(myConnString); baseConn.Open(); invalidator = new InvalidatorEffiproz(); CurDatabase = myInfo.InitialCatalog; CurPwd = myInfo.Password; } catch (Exception e) { throw e; } }
public override void Open(string connectionString) { if (string.IsNullOrEmpty(connectionString)) { throw new Exception("Invalid connection string"); } try { if (IsOpened) { return; } baseConn = new EfzConnection(connectionString); baseConn.Open(); invalidator = new InvalidatorEffiproz(); } catch (OleDbException ee) { throw ee; } }