Example #1
0
        public void TestCompactMdb()
        {
            string fileName = Path.Combine(_tempDirectory, _tempFilePrefix + ".mdb");
            OleDba oleDba   = null;

            try
            {
                CreateMdb(fileName);

                oleDba = new OleDba();
                oleDba.ConnectMDB(fileName);
                PopulateOleDba(oleDba);
                oleDba.Disconnect();

                JetSqlUtil.CompactMDB(fileName);

                oleDba.ConnectMDB();
                oleDba.ExecuteSqlCommand(_sqlDropTable);
                oleDba.Disconnect();
            }
            finally
            {
                if (oleDba != null && oleDba.Connected)
                {
                    oleDba.Disconnect();
                    oleDba.Dispose();
                }
                File.Delete(fileName);
                Assert.IsFalse(File.Exists(fileName), "Failed to delete " + fileName);
            }
        }
Example #2
0
        void menuRepairDatabase_Click(object sender, System.EventArgs e)
        {
            StringBuilder FileFilter = new StringBuilder();
            FileDialog    dlg        = new OpenFileDialog();

            FileFilter.Append(FILTER_JETSQL);
            dlg.Filter = FileFilter.ToString();

            try {
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    if (dlg.FileName == CurrentFile)
                    {
                        DisconnectDataSource();
                        JetSqlUtil.RepairMDB(dlg.FileName);
                        OpenMDB(CurrentFile);
                    }
                    else
                    {
                        JetSqlUtil.RepairMDB(dlg.FileName);
                    }
                }
            } catch (ApplicationException) {
                StringBuilder ErrorMessage = new StringBuilder();
                ErrorMessage.AppendFormat
                    ("There seems to be a problem repairing {0}.\n", dlg.FileName);
                ErrorMessage.AppendLine
                    ("Perhaps the file is opened by another process.");
                MessageBox.Show
                    (ErrorMessage.ToString(),
                    "PlaneDisaster.NET");
            }
            dlg.Dispose();
        }
Example #3
0
        void menuNew_Click(object sender, System.EventArgs e)
        {
            StringBuilder FileFilter = new StringBuilder();
            FileDialog    dlg        = new SaveFileDialog();

            dlg.Title = "New Database";
            FileFilter.Append("Microsoft Access (*.mdb)|*.mdb");
            FileFilter.Append("|Microsoft Access 95 (*.mdb)|*.mdb");
            FileFilter.Append("|Microsoft Access 2000 (*.mdb)|*.mdb");
            FileFilter.AppendFormat("|{0}", FILTER_SQLITE);
            dlg.Filter = FileFilter.ToString();

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                switch (dlg.FilterIndex)
                {
                case 1:
                    JetSqlUtil.CreateMDB(dlg.FileName);
                    OpenMDB(dlg.FileName);
                    break;

                case 2:
                    JetSqlUtil.CreateMDB(dlg.FileName, AccessDbVersion.Access95);
                    OpenMDB(dlg.FileName);
                    break;

                case 3:
                    JetSqlUtil.CreateMDB(dlg.FileName, AccessDbVersion.Access2000);
                    OpenMDB(dlg.FileName);
                    break;

                case 4:
                    System.Data.SQLite.SQLiteConnection.CreateFile
                        (dlg.FileName);
                    OpenSQLite(dlg.FileName);
                    break;
                }
                AddRecentFile(dlg.FileName);
                _oPlaneDisasterSettings.RecentFiles.GenerateOpenRecentMenu
                    (openRecentToolStripMenuItem,
                    menuOpenRecent_Click);
                InitContextMenues();
            }
            dlg.Dispose();
        }
Example #4
0
        internal void NewDatabaseFile(string FileName)
        {
            string Extension = Path.GetExtension(FileName);

            //TODO: Make use of _JetSqlExtensions and _SqliteExtensions
            switch (Extension)
            {
            case ".mdb":
                JetSqlUtil.CreateMDB(FileName);
                this.OpenMDB(FileName);
                break;

            case ".db":
            case ".db3":
            case ".sqlite":
                System.Data.SQLite.SQLiteConnection.CreateFile(FileName);
                this.OpenSQLite(FileName);
                break;
            }
            this.queryToolStripMenuItem.Enabled = true;
            Text = string.Format("{0} - ({1}) - PlaneDisaster.NET", Path.GetFileName(FileName), FileName);
        }
Example #5
0
 private static void CreateMdb(string fileName)
 {
     JetSqlUtil.CreateMDB(fileName);
     Assert.IsTrue(File.Exists(fileName), "Failed to create " + fileName);
 }
Example #6
0
 private static void CompactAndRepairMdb(string fileName)
 {
     JetSqlUtil.CompactMDB(fileName);
     JetSqlUtil.RepairMDB(fileName);
 }
Example #7
0
        public static void Main(string[] args)
        {
            GetOpt oGetOpt = new GetOpt(args);
            string MdbFile = "";

            try {
                oGetOpt.SetOpts(new string[] { "c", "d=", "s=" });
                oGetOpt.Parse();
                //DEBUG: Console.WriteLine("Successfully parsed arguments.");
            } catch (ArgumentException) {
                Console.Error.WriteLine("ERROR: arguments not supplied");
                //TODO: Write usage info function
                oGetOpt.Args.ToString();
                Console.WriteLine();
                System.Environment.Exit(666);
            }

            if (!oGetOpt.IsDefined("d"))
            {
                Console.Error.WriteLine("Must specify the database.");
                System.Environment.Exit(666);
            }
            else
            {
                MdbFile = oGetOpt.GetOptionArg("d");
            }

            Console.WriteLine("Database: {0}", MdbFile);
            try {
                if (oGetOpt.HasArgument("s"))
                {
                    Console.WriteLine("SQL Script: {0}", oGetOpt.GetOptionArg("s"));
                }
            } catch (ArgumentNullException) { }

            if (oGetOpt.IsDefined("c"))
            {
                if (File.Exists(MdbFile))
                {
                    Console.Error.WriteLine("JetSQL file \"{0}\" already exists!", MdbFile);
                }
                else
                {
                    JetSqlUtil.CreateMDB(MdbFile);
                }
            }

            //If the Access file doesn't exist at this point we can't go on
            if (!File.Exists(MdbFile))
            {
                Console.Error.WriteLine("JetSQL file \"{0}\" does not exist!", MdbFile);
            }

            if (oGetOpt.IsDefined("s"))
            {
                OdbcDba dbconn = new OdbcDba();
                dbconn.ConnectMDB(MdbFile);
                dbconn.ExecuteSqlFile(oGetOpt.GetOptionArg("s"));
                dbconn.Disconnect();
            }
        }
Example #8
0
 protected override void CreateDb(string fileName)
 {
     JetSqlUtil.CreateMDB(fileName);
     Assert.IsTrue(File.Exists(fileName), "Failed to create " + fileName);
 }