protected override void DoRun(IJobRunEnv env) { string dir = GetBackupDir(); try { Directory.CreateDirectory(dir); } catch { } string bckfile = Path.Combine(dir, CreateFileName()); IDatabaseWriter writer = m_format.GetWriter(bckfile + m_format.Extension, m_src); var copyOpts = new DatabaseCopyOptions { CopyMembers = m_members, DataMode = DbCopyDataMode.All, CopyStructure = true, SchemaMode = m_src.Dialect.DialectCaps.MultipleSchema ? DbCopySchemaMode.Original : DbCopySchemaMode.Explicit, ExplicitSchema = null }; CopyDbJob.CopyDatabase(m_src, writer, ProgressInfo, copyOpts); SetCurWork(Texts.Get("s_finishing")); BackupContainer bc = new BackupContainer(bckfile, m_format); bc.Save(); }