/// <summary> /// Here notice : /// The database in the connection is a folder name /// And the database name is the file name /// In CSV the filename is just the database name and the table name /// /// </summary> /// <param name="pInfo"></param> public override void Open(BaseLoginInfo pInfo) { //Record to base class (Vital) baseLoginInfo = pInfo; LoginInfo_CSV myInfo = pInfo as LoginInfo_CSV; LoginInfo_ForAllDbTypes allInfo = pInfo as LoginInfo_ForAllDbTypes; if ((myInfo == null) && (allInfo == null)) { throw new ArgumentException("Only Support Oledb login info and AllDBTypes Info"); } if (IsOpened) { return; } string myConnString = string.Empty; try { if (allInfo != null) { myInfo = new LoginInfo_CSV(); myInfo.Database = allInfo.Database; myInfo.Pwd = allInfo.Pwd; myInfo.Username = allInfo.Username; } //Process Database name myInfo.Database = Directory.GetParent(myInfo.Database).FullName; myConnString = DbConnectionString.TxtFile.OleDb_DelimitedColumns(myInfo.Database, myInfo.IsFirstRowIsColumnName); baseConn = new OleDbConnection(myConnString); baseConn.Open(); invalidator = new InvalidatorForOledb(); CurDatabase = myInfo.Database; CurPwd = myInfo.Pwd; } 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 OleDbConnection(connectionString); baseConn.Open(); invalidator = new InvalidatorForOledb(); } catch (OleDbException ee) { throw ee; } }
/// <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_Excel myInfo = pInfo as LoginInfo_Excel; LoginInfo_ForAllDbTypes allInfo = pInfo as LoginInfo_ForAllDbTypes; if ((myInfo == null) && (allInfo == null)) { throw new ArgumentException("Only Support Oledb login info and AllDBTypes Info"); } if (IsOpened) { return; } string myConnString = string.Empty; try { if (allInfo != null) { myInfo = new LoginInfo_Excel(); myInfo.Database = allInfo.Database; myInfo.Pwd = allInfo.Pwd; myInfo.Username = allInfo.Username; myInfo.CurrentOleDBVersion = allInfo.CurrentOleDBVersion; } switch (myInfo.CurrentOleDBVersion) { case OleDBVersion.Is2003: myConnString = DbConnectionString.Excel.GetOleDbConnectionString(myInfo.Database, myInfo.IsFirstRowIsColumnName); break; case OleDBVersion.Is2007: myConnString = DbConnectionString.Excel2007.GetOleDBString(myInfo.Database, myInfo.IsFirstRowIsColumnName); break; default: myConnString = DbConnectionString.Excel.GetOleDbConnectionString(myInfo.Database, myInfo.IsFirstRowIsColumnName); break; } baseConn = new OleDbConnection(myConnString); baseConn.Open(); invalidator = new InvalidatorForOledb(); CurDatabase = myInfo.Database; CurPwd = myInfo.Pwd; } catch (Exception e) { throw e; } }
/// <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_Oledb myInfo = pInfo as LoginInfo_Oledb; LoginInfo_ForAllDbTypes allInfo = pInfo as LoginInfo_ForAllDbTypes; if ((myInfo == null) && (allInfo == null)) { throw new ArgumentException("Only Support Oledb login info and AllDBTypes Info"); } if (IsOpened) { return; } string myConnString = string.Empty; try { if (allInfo != null) { myInfo = new LoginInfo_Oledb(); myInfo.Database = allInfo.Database; myInfo.Pwd = allInfo.Pwd; myInfo.Username = allInfo.Username; myInfo.CurrentOleDBVersion = allInfo.CurrentOleDBVersion; //myInfo.CurOleDBType=allInfo. } #region Get Connection String switch (myInfo.CurrentOleDBVersion) { case OleDBVersion.Is2003: if (string.IsNullOrEmpty(myInfo.Pwd)) { myConnString = DbConnectionString.Access.GetOledbAccess(myInfo.Database, myInfo.Username, myInfo.Pwd); } else { myConnString = DbConnectionString.Access.GetOleDbAccessWithPassword(myInfo.Database, myInfo.Pwd); } break; case OleDBVersion.Is2007: if (string.IsNullOrEmpty(myInfo.Pwd)) { myConnString = DbConnectionString.Access2007.GetOleDBString(myInfo.Database, ""); } else { myConnString = DbConnectionString.Access2007.GetOleDBString(myInfo.Database, myInfo.Pwd); } break; default: if (string.IsNullOrEmpty(myInfo.Pwd)) { myConnString = DbConnectionString.Access.GetOledbAccess(myInfo.Database, myInfo.Username, myInfo.Pwd); } else { myConnString = DbConnectionString.Access.GetOleDbAccessWithPassword(myInfo.Database, myInfo.Pwd); } break; } #endregion baseConn = new OleDbConnection(myConnString); baseConn.Open(); invalidator = new InvalidatorForOledb(); CurDatabase = myInfo.Database; CurPwd = myInfo.Pwd; } catch (Exception e) { throw e; } }