PlaneDisaster.NET

From ConShell
Jump to navigation Jump to search

PlaneDisaster.NET is a Database Browser for MS Access and SQLite.NET databases. It is written in C# and available on SourceForge.net. The products official website is http://plane-disaster.sf.net.

Note: This is no longer the official PlaneDisaster.NET page. I now host that on sourceforges web hosting at http://plane-disaster.sourceforge.net/.

Origins and History

I wrote a database viewer due to the fact that I needed a way to browse Microsoft Access files. I was working in C# at the time so that was the language I chose. It made perfect sense to distribute this as an open source project, as I knew of no open source tools for viewing and editing MS access databases.

My project quickly grew to support several databases. I created a nice hierarchy of classes that wrapped around ADO.NET Provider classes. However, I then realized that I wasn't filling a need with the MySQL and Postgres frontend. I prefer the existing frontends for Postgresql, MySQL and Microsoft SQL server. As a result, I dropped support for all databases besides MS access and SQLite. While there are other front ends for SQLite available, I prefer PlaneDisaster to them so I kept support for it. Also, SQLite and MS Access database are used in similar manners and in both cases the database is just a file and the database engine is just a shared library.

The Name PlaneDisaster.NET

The prototype of PlaneDisaster.NET was a VB6 application called PlaneCrash. The plane part of the name refers to the name of the MS Access database engine JetSQL. The words Crash and Disaster refer to my dislike of the JetSQL engine for its lack of scalability and features. I might change the name if I can think of a better one.

Features

  • Creating new databases
  • Arbitrary SQL execution
  • Can retrieve the contents of any table, view or procedure as a CSV or DataGridView.
  • "Scripting" of database objects
You can retrieve the DDL of a database object. All objects besides tables in JetSQL are supported. JetSQL has no mechanism for giving you a "CREATE TABLE" statement that will exactly duplicate a tables schema. There is much code that attempts to create the DDL by examing the schema of the table. This feature would be good to implement. I will gladly accept contributions in this regard.
  • Microsoft Access specific features:
    • Database compacting
MDB files need to be periodically compacted to remove wasted space. PlaneDisaster.NET allows you to do this.
    • Database Repair
The JetSQL Engine has a method of repairing corrupted databases. I don't know how well it works, but I expose that functionality here. This is the same repair database functionality available from Microsoft Access.

Getting PlaneDisaster.NET

PlaneDisaster.NET has a project page on sourceforge. I make periodic releases.

Related Links