Mini SQL Query - Version 1 Preview Release

by Paul 6/16/2008 2:57:00 AM

This is a "Preview release" of Mini SQL Query prior to version 1.0. It includes all updates since the "final beta" release. The main thing left to do is actually add this code to the CodePlex repository. I am looking at using SVN Bridge for that. For now get the source code from the ZIP distributions on CodePlex...

Modified app to use Castle Windsor for dependency injection

The core interfaces used by the application are now created via the Windsor container.  If you are not familiar with this library become so! It is extremely useful. The configuration of components has also been externalized in the "Configuration.xml" file – this make enhancements extremely flexible.
I have not as yet abstracted the schema engine which I would like to do so that it is easily swapped out (the current implementation is pretty basic but very generic!)

General refactoring around core interfaces

I have done a fair bit of tweaking and renaming. Some interfaces have had base interfaces abstracted to increase reusability.

Added allot of hopefully useful commenting

That pretty much says it all – the one thing I would like to see is more “example” code but the source is there so I am not worried.

Implemented simple text searching abilities

This is one of the main things I felt the tool was missing. It's just a basic looping find but it suits me. I have not added "replace" functionality yet but you can achieve this by hitting F3 and “pasting” your replace text! I class that as agile/YAGNI ;-)

Added a "search tools" plug-in under the SDK as an example and find implementation

The search provider and “go to line” implementation were created off the plug-in template as an example and included into the core distribution.

Enhanced the connection strings editor to make use of the providers connection string builder

This was added soon after the final beta release and since then tweaked. It makes use of the connection string builder class provided by each database provider which worked out really well just with the property grid. If the provider does not have an implementation a very generic class is used.

More to do?

The only remaining things that I would really like to see are the display of SQL messages – these are different for each provider so it's just a time thing – not hard at all.
The editor itself does not support batching, e.g. the "GO" syntax. It just means a few changes around the execution of the query and collection of results.
A plain text view of the results would be nice. Currently it's standard data grid only – just the "out of the box" data grid rendering of a dataset.

Go get it - http://www.codeplex.com/MiniSqlQuery/Release/ProjectReleases.aspx?ReleaseId=14424

PK :-)

 

Mini SQL Query Connection String Manager Patch

by Paul 5/26/2008 6:03:00 PM

Because it was one of the most requested missing features I put together an enhancement to the (very simple) connection string manager form.

It makes use of the db providers "connection string builder" (if implemented) and gives you a very functional property window to work with:

To edit a line put the cursor on it, to add a new one put the cursor on a blank line...

You can apply the pach by replacing the DLL - see the release on codeplex - http://www.codeplex.com/MiniSqlQuery/Release/ProjectReleases.aspx?ReleaseId=13772

The source is there too if you are playing around with it allready...

PK  :-)

 

Mini SQL Query has gone Open Source

by Paul 5/23/2008 6:24:00 AM

Just getting organised but see:

  http://www.codeplex.com/MiniSqlQuery

The "final beta" release is here:

  http://www.codeplex.com/MiniSqlQuery/Release/ProjectReleases.aspx?ReleaseId=13684

I have some more cleaning up to do but next week should be release v1.0  :-)

--- 

I spent some time cleaning the code up etc and making it more of an open source project (than a personal tools one). Note that the format of the connection file has changed...

The Source

Note that the source code requires .net 3.5 for building etc but the core components of tool itself targets .net v2. This is mainly so that within the tests etc you can take advantage of the latest language features (and libraries such as *MoQ*). Note also that there is nothing stoping you from creating plugins that target .net v3.5 - the user simply needs the runtime installed.

The SDK and Plug-Ins

See my blog for some posts about the tool - http://www.pksoftware.net/devblog/category/Mini-SQL-Query.aspx.

See http://www.pksoftware.net/devblog/page/Creating-a-Mini-SQL-Plugin.aspx for plugin creation details for now.

If you have suggestions etc please make them. I still need to upload the source code properly... see the ZIP on CodePlex for now (requires VS.NET 2008 express or greater, also works with SharpDevelop v3).

 

Mini SQL Query and an SDK

by Paul 3/11/2008 5:58:00 AM

OK, I'll call it an SDK but for now it's just the query tool and ZIP file with the API help and a plugin project template for VS.NET 2008. I am also working on a tutorial page for making a plugin.

Mini SQL Query is at version 0.9.48 now (added some plugin base class helper stuff) and getting pretty close to a version 1 release. I have been getting good feedback and have a few things left to improve before I am happy to call this thing "version 1".

Beta Release of Mini SQL Query

by Paul 2/21/2008 4:15:00 AM

Mini SQL Query is one of those tools that I have had in my self coded toolbox for a long time now. Last year I almost released it to the public but a few things happened and the release sadly didn't. My apologies to those that were waiting, I had plenty of emails in the months to follow asking where the editor was!

Well, I finally uploaded the beta - see http://www.pksoftware.net/MiniSqlQuery/


Mini SQL Query hitting an MSSQL database.

Make sure you register so that when fixes or major releases are made you know – there is also the Mini SQL Query product RSS feed). Keep in mind its in no way intended as a replacement for Microsoft's "SQL Server Management Studio". I use it for making quick queries or updates to my databases. I find it particularly good for managing a remotely hosted database. I don't use it for modeling databases etc but I do plan on making a bunch of plugins to help with quickly putting together a NetTiers focused database model.


Mini SQL Query hitting an MS Access database with a table window floating.

The application itself it an exercise in minimalist coding. I made use of open source libraries such as the ICSharpTextEditor giving lots of edit functionality with little effort. I used Weifen Luo’s docking library which has been great (I need to track down the correct links etc will post later). The design employs a service model with commands which keeps code nicely separated and easily extendable (see the API docs on making plugins if you have the geekish urge to, there is also a tutorial on creating plugins now too). The testing is done with a combination of stubs and mocks (I use Rhino Mocks, just love the style...)

The whole application was actually coded with Microsoft Visual C# Express Edition. I wanted to see what a hobby developer IDE could come up with. What did I miss most? Addins like testdriven.net and resharper!

 

Some notes...

Multiple Connection Types

One of the main features is the fact that you can connect to pretty much any database so long as you know the Provider type and connection string. I have only had MSSQL and Access databases to test against so far but I might try and ressurect my Oracle instance just to check out the schema details.

Probaby the main usability thing to keep in mind is that if you change the provider type and/or the connection string you should hit the 'Refresh Database Connection' button/menu item. The 'Database Inspector' gets reloaded at this point too.

Database Inspector

The inspector window shows basic details that are taken from the DBConnection.GetSchema output. I have noticed that some of the types for the access databases are not actually defined and so come though as a number with a question mark (e.g. 130? with is actually a variable string) .

Settings Persistance

There is none yet! I have not worried about it to date but that will turn up in time.

 

Let me know what you think, PK  :-)

 

Powered by BlogEngine.NET 1.3.1.0
Theme by Mads Kristensen

About the author

Paul Kohler Paul Kohler
A .NET software developer living and working in Brisbane, Australia.

PK Software
E-mail me Send mail

Calendar

<<  August 2008  >>
MoTuWeThFrSaSu
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567

View posts in large calendar

Authors

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008