<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://community.sharpdevelop.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Dickon Field</title><link>http://community.sharpdevelop.net/blogs/dickonfield/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>Current direction for 3.0 DB support</title><link>http://community.sharpdevelop.net/blogs/dickonfield/archive/2007/09/02/current-direction-for-3-0-db-support.aspx</link><pubDate>Sun, 02 Sep 2007 22:43:00 GMT</pubDate><guid isPermaLink="false">1b90d1c1-04e6-45b0-b51d-b665527d49b9:18672</guid><dc:creator>dikon</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.sharpdevelop.net/blogs/dickonfield/rsscomments.aspx?PostID=18672</wfw:commentRss><comments>http://community.sharpdevelop.net/blogs/dickonfield/archive/2007/09/02/current-direction-for-3-0-db-support.aspx#comments</comments><description>&lt;P&gt;Well, its been a few months but I am restarting some work on this feature. There was a #D dev meeting thing in Karlsruhe, plus some discussion and research, so it is going to be completely reworked. In particular:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;local storage of metadata in a flat file is going be dropped - not really required, complex to do, and potentially a source of errors&lt;/LI&gt;
&lt;LI&gt;much more consistent with the VS&lt;/LI&gt;
&lt;LI&gt;keep it simple - the aspiration is to provide basic metadata support, not full, per-server functionality that you would see if a tool such as DBArtisan&lt;/LI&gt;
&lt;LI&gt;use existing metadata libraries in the open source world - one of the most difficult areas, since there is no prevailing standard for metadata, and metadata (or schema schema) schema vary dramatically - a pain if you want to browse and play with common db objects such as tables, procs, views, etc in a standard way&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Anyway, just (re) started, so anyone interested in helping please let me know&lt;/P&gt;
&lt;P&gt;Dickon&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://community.sharpdevelop.net/aggbug.aspx?PostID=18672" width="1" height="1"&gt;</description></item><item><title>Current work on SQLTool - field name completion - proposing to use antlr</title><link>http://community.sharpdevelop.net/blogs/dickonfield/archive/2007/01/13/current-work-on-sqltool-field-name-completion-proposing-to-use-antlr.aspx</link><pubDate>Sat, 13 Jan 2007 10:45:00 GMT</pubDate><guid isPermaLink="false">1b90d1c1-04e6-45b0-b51d-b665527d49b9:14654</guid><dc:creator>dikon</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.sharpdevelop.net/blogs/dickonfield/rsscomments.aspx?PostID=14654</wfw:commentRss><comments>http://community.sharpdevelop.net/blogs/dickonfield/archive/2007/01/13/current-work-on-sqltool-field-name-completion-proposing-to-use-antlr.aspx#comments</comments><description>&lt;P&gt;I'm currently working on the field name completion for the SQLTool. The aim is to make it easy to load Lexer/Parsers to cater for the variations in SQL syntax that occur across the major database offerings, and I am going to use the same approach as I have used elsewhere for this - essentially to use a factory for the parser that uses the invariant name as a key.&lt;/P&gt;
&lt;P&gt;At the moment it is looking like the best approach to the Lexer/Parser is to use antlr, since the existing parsing support in #D is very C# specific. There are already quite a few grammars available for SQL, including those for MSSQL and Oracle. If anyone has any other ideas or advice please let me know.&lt;/P&gt;&lt;img src="http://community.sharpdevelop.net/aggbug.aspx?PostID=14654" width="1" height="1"&gt;</description></item><item><title>Basic SQL Tool in revision 2125 as part of ServerTools</title><link>http://community.sharpdevelop.net/blogs/dickonfield/archive/2006/12/03/basic-sql-tool-in-revision-2125-as-part-of-servertools.aspx</link><pubDate>Sun, 03 Dec 2006 00:14:00 GMT</pubDate><guid isPermaLink="false">1b90d1c1-04e6-45b0-b51d-b665527d49b9:13594</guid><dc:creator>dikon</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.sharpdevelop.net/blogs/dickonfield/rsscomments.aspx?PostID=13594</wfw:commentRss><comments>http://community.sharpdevelop.net/blogs/dickonfield/archive/2006/12/03/basic-sql-tool-in-revision-2125-as-part-of-servertools.aspx#comments</comments><description>&lt;P&gt;I've just added a basic query tool feature to ServerTools-&amp;gt;DbTools - right click on a logical db connection in the Server Explorer -&amp;gt; Database Explorer node, and 'Open SQL Tool' is available as an option. This opens a Form hosted in a ViewContent with three tabs - one is an editor based on #D's TextEditorControl, the next hosts a DataGridView of the result set from any successful execution of the SQL entered in the editor, and the last hosts a TextBox which shows any messages or exceptions encountered.&lt;/P&gt;
&lt;P&gt;Right clicking on the text editor presents the option to dispatch the SQL to the server identified by the Database Explorer node from which the SQL Tool was opened.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;The next feature I am planning to implement is SQL parsing and field name completion.&lt;/P&gt;
&lt;P&gt;&lt;IMG title="SQL Tool" style="WIDTH:850px;HEIGHT:530px;" height=530 alt="SQL Tool" src="http://community.sharpdevelop.net/photos/dikon/images/13593/original.aspx" width=850&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://community.sharpdevelop.net/aggbug.aspx?PostID=13594" width="1" height="1"&gt;</description></item><item><title>Table Describe and SQL Server Support in SharpServerTools</title><link>http://community.sharpdevelop.net/blogs/dickonfield/archive/2006/11/09/table-describe-and-sql-server-support-in-sharpservertools.aspx</link><pubDate>Thu, 09 Nov 2006 22:52:00 GMT</pubDate><guid isPermaLink="false">1b90d1c1-04e6-45b0-b51d-b665527d49b9:13085</guid><dc:creator>dikon</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.sharpdevelop.net/blogs/dickonfield/rsscomments.aspx?PostID=13085</wfw:commentRss><comments>http://community.sharpdevelop.net/blogs/dickonfield/archive/2006/11/09/table-describe-and-sql-server-support-in-sharpservertools.aspx#comments</comments><description>&lt;P&gt;The SharpServerTools component has moved on a bit:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;refactored to make each server tool an addin, and enable addins for each database server type&lt;/LI&gt;
&lt;LI&gt;support for Oracle and SQLServer&lt;/LI&gt;
&lt;LI&gt;both have table describe functionality - right click on a table and invoke 'Describe' opens a browser of the metadata for that table&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;IMG title="SharpDbTools with SQLServer and table describe functionality" style="WIDTH:1280px;HEIGHT:800px;" height=800 alt="SharpDbTools with SQLServer and table describe functionality" src="http://community.sharpdevelop.net/photos/dikon/images/13083/original.aspx" width=1280&gt;&lt;/P&gt;&lt;img src="http://community.sharpdevelop.net/aggbug.aspx?PostID=13085" width="1" height="1"&gt;</description></item><item><title>#DbTools -&gt; ServerExplorer</title><link>http://community.sharpdevelop.net/blogs/dickonfield/archive/2006/08/22/_2300_DbTools-_2D003E00_-ServerExplorer.aspx</link><pubDate>Tue, 22 Aug 2006 21:11:00 GMT</pubDate><guid isPermaLink="false">1b90d1c1-04e6-45b0-b51d-b665527d49b9:10878</guid><dc:creator>dikon</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.sharpdevelop.net/blogs/dickonfield/rsscomments.aspx?PostID=10878</wfw:commentRss><comments>http://community.sharpdevelop.net/blogs/dickonfield/archive/2006/08/22/_2300_DbTools-_2D003E00_-ServerExplorer.aspx#comments</comments><description>&lt;p&gt;&lt;u&gt;About the Project&lt;/u&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I&amp;#39;m currently working on a plug-in for #D the primary intention of which is to provide some tools to work with databases from within #D, and to issue and manipulate queries. As the work has progressed it looks like it would be a good idea, and not too difficult, to extend the basic Pad to provide server browsing and management functionality, similar to VS2005.&lt;/p&gt;&lt;p&gt;The initial aim of the plugin is to provide tools pretty similar to the DTP project in Eclipse, but not to write them nearly as much from the ground up (which is the approach the DTP project seem to have taken - fair enough since they have a good amount of resource to put behind it!).&lt;/p&gt;&lt;p&gt;The principles I am trying to stick to are:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;exploit, and remain consistent with, the .net 2.0 generic db provider framework - this has given me a pretty good start since it very effectively genericizes the access to data sources using a nice factory-based design, as well as providing a (hopefully) fairly generic metadata interface&lt;/li&gt;&lt;li&gt;keep view and model as cleanly separated as possible (in the style of MVC, although WinForms seems to require you to adlib a little there) - I have tried to adopt and remain consistent with the service-based approach used elsewhere in #D, which so far is working pretty well&lt;/li&gt;&lt;li&gt;where I need to extend or build on the .net 2.0 provider framework to remain consistent with the way in which this works. This means (as elaborated a in a little bit later) creating factories for a variety of artefacts using the Invariant Name as the parameter to them. Not surprisingly this is pretty complex since there is a lot of vendor specific information relating to each db server - ranging from vendor specific metadata types to variations in SQL grammar to differences in the way in which server-instance and database-instances are referred to. This will probably end up being something a bit like the &amp;#39;knowledge pack&amp;#39; concept that you see in dbArtisan.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Similarly to the DTP project I am hoping to make it possible to work either against an actual datasource, or disconnected from the source, by caching the metadata from the data source (using the remarkably powerful DataSet).&lt;/p&gt;&lt;p&gt;The basic phases of the work are probably something like:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;connection management and metadata browsing tool&amp;nbsp;- a prototypical version is done (see below), but this has a way to go. Quite a lot of the framework concepts are emerging while doing this&lt;/li&gt;&lt;li&gt;database object inspection, probably using nice drag-and-drop features&lt;/li&gt;&lt;li&gt;SQL query and DDL editing&lt;/li&gt;&lt;li&gt;some funky typed DataSet stuff&lt;/li&gt;&lt;li&gt;...along with 4: incorporation of data sources into projects via the app.config file - actually it might be possible to do this earlier rather than later&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;u&gt;Where it has got to&lt;/u&gt;&lt;/p&gt;&lt;p&gt;Very prototypical phase 1 functionality available in build 1699 of #D 2.1 (currently only available via Subversion I believe):&lt;/p&gt;&lt;p&gt;&lt;img height="670" src="http://community.sharpdevelop.net/photos/dikon/images/10883/original.aspx" style="width:640px;height:670px;" width="640" /&gt;&lt;/p&gt;&lt;p&gt;Some initial thoughts on the classes involved looks like the following, although there are a number of classes required to manufacture vendor specific metadata etc that I need to add to this:&lt;/p&gt;&lt;p&gt;&lt;img align="left" height="500" src="http://community.sharpdevelop.net/photos/dikon/images/10884/original.aspx" style="width:800px;height:500px;" width="800" /&gt;&lt;/p&gt;&lt;img src="http://community.sharpdevelop.net/aggbug.aspx?PostID=10878" width="1" height="1"&gt;</description></item></channel></rss>