<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Reggie&#039;s Ramblings &#187; .NET</title>
	<atom:link href="http://www.reggieburnett.com/category/net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.reggieburnett.com</link>
	<description>My thoughts on life and technolgy</description>
	<lastBuildDate>Wed, 28 Jul 2010 21:06:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MySQL Connector/Net 6.3.3 (beta 2) has been released</title>
		<link>http://www.reggieburnett.com/mysql-connectornet-6-3-3-beta-2-has-been-released</link>
		<comments>http://www.reggieburnett.com/mysql-connectornet-6-3-3-beta-2-has-been-released#comments</comments>
		<pubDate>Tue, 27 Jul 2010 21:01:03 +0000</pubDate>
		<dc:creator>reggie</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET 4.0]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.reggieburnett.com/?p=356</guid>
		<description><![CDATA[MySQL Connector/Net 6.3.3, a new version of the all-managed .NET driver  for MySQL has been released. This is a beta release and is intended to  introduce you to the new features and enhancements we are planning. This  release should not be used in a production environment.  It is now  available in <a href="http://www.reggieburnett.com/mysql-connectornet-6-3-3-beta-2-has-been-released" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>MySQL Connector/Net 6.3.3, a new version of the all-managed .NET driver  for MySQL has been released. This is a beta release and is intended to  introduce you to the new features and enhancements we are planning. This  release should not be used in a production environment.  It is now  available in source and binary form from  <a href="http://dev.mysql.com/downloads/connector/net/6.3.html">http://dev.mysql.com/downloads/connector/net/6.3.html</a>] and mirror sites  (note that not all mirror sites may be up to date at this point of time &#8211;  if you can’t find this version on some mirror, please try again later  or choose another download site.)</p>
<p><strong> The new features or changes in this release are:</strong></p>
<ul>
<li>Visual Studio 2010 RTM support</li>
<li>New sql editor.  Create a new file with a .mysql extension to see it in action</li>
<li>Please check the changelog and release notes for more information</li>
</ul>
<p><strong>What we know may be broken</strong><br />
Documentation is not yet integrated into VS 2010.</p>
<p>Please let us know what else we broke and how we can make it better!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reggieburnett.com/mysql-connectornet-6-3-3-beta-2-has-been-released/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Connector/Net 6.3.2 beta has been released</title>
		<link>http://www.reggieburnett.com/mysql-connectornet-6-3-2-beta-has-been-released</link>
		<comments>http://www.reggieburnett.com/mysql-connectornet-6-3-2-beta-has-been-released#comments</comments>
		<pubDate>Tue, 01 Jun 2010 15:00:08 +0000</pubDate>
		<dc:creator>reggie</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET 4.0]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.reggieburnett.com/?p=331</guid>
		<description><![CDATA[Sorry for this not getting out sooner.  Connector/Net 6.3.2 was released several days ago but somehow the release announcement was never made.

MySQL Connector/Net 6.3.2, a new version of the all-managed .NET driver for MySQL has been released. This is a beta release and is intended to introduce you to the new features and enhancements we are planning. <a href="http://www.reggieburnett.com/mysql-connectornet-6-3-2-beta-has-been-released" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">Sorry for this not getting out sooner.  Connector/Net 6.3.2 was released several days ago but somehow the release announcement was never made.</div>
<div></div>
<div id="_mcePaste">MySQL Connector/Net 6.3.2, a new version of the all-managed .NET driver for MySQL has been released. This is a beta release and is intended to introduce you to the new features and enhancements we are planning. This</div>
<div id="_mcePaste">release should not be used in a production environment.  It is now available in source and binary form from</div>
<div id="_mcePaste">[http://dev.mysql.com/downloads/connector/net/6.3.html] and mirror sites (note that not all mirror sites may be up to date at this point of time - if you can&#8217;t find this version on some mirror, please try again later</div>
<div id="_mcePaste">or choose another download site.)</div>
<div></div>
<div id="_mcePaste">The new features or changes in this release are:</div>
<div>
<ul>
<li>Visual Studio 2010 RTM support</li>
<li>New sql editor.  Create a new file with a .mysql extension to see it in action</li>
</ul>
</div>
<div id="_mcePaste"><strong>What we know may be broken</strong></div>
<div><strong> </strong>Documentation is not updated yet and is not integrated into VS 2010</div>
<div id="_mcePaste"></div>
<div>Please let us know what else we broke and how we can make it better!</div>
]]></content:encoded>
			<wfw:commentRss>http://www.reggieburnett.com/mysql-connectornet-6-3-2-beta-has-been-released/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>MySQL Connector/Net 6.1.4 has been released</title>
		<link>http://www.reggieburnett.com/mysql-connectornet-6-1-4-has-been-released</link>
		<comments>http://www.reggieburnett.com/mysql-connectornet-6-1-4-has-been-released#comments</comments>
		<pubDate>Wed, 28 Apr 2010 19:09:10 +0000</pubDate>
		<dc:creator>reggie</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.reggieburnett.com/?p=318</guid>
		<description><![CDATA[MySQL Connector/Net 6.1.4, a new version of the all-managed .NET driver for MySQL has been released. This is our latest GA release and is suitable for use in all scenarios against servers ranging from version 4.1 to 5.5!
It is now available in source and binary form from [http://dev.mysql.com/downloads/connector/net/6.1.html] and mirror sites (note that not all <a href="http://www.reggieburnett.com/mysql-connectornet-6-1-4-has-been-released" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>MySQL Connector/Net 6.1.4, a new version of the all-managed .NET driver for MySQL has been released. This is our latest GA release and is suitable for use in all scenarios against servers ranging from version 4.1 to 5.5!</p>
<p>It is now available in source and binary form from [http://dev.mysql.com/downloads/connector/net/6.1.html] and mirror sites (note that not all mirror sites may be up to date at this point of time &#8211; if you can&#8217;t find this version on some mirror, please try again later or choose another download site.)</p>
<p>This is a maintenance release and includes many bug fixes.  Please review the change log for details.</p>
<p>Thank you for using our product!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reggieburnett.com/mysql-connectornet-6-1-4-has-been-released/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Connector/Net 6.0.6 has been released</title>
		<link>http://www.reggieburnett.com/mysql-connectornet-6-0-6-has-been-released</link>
		<comments>http://www.reggieburnett.com/mysql-connectornet-6-0-6-has-been-released#comments</comments>
		<pubDate>Wed, 28 Apr 2010 15:18:59 +0000</pubDate>
		<dc:creator>reggie</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.reggieburnett.com/?p=311</guid>
		<description><![CDATA[MySQL Connector/Net 6.0.6, a new version of the all-managed .NET driver for MySQL has been released. This is a maintenance release and is approved for use in all situations.
It is now available in source and binary form from [http://dev.mysql.com/downloads/connector/net/6.0.html] and mirror sites (note that not all mirror sites may be up to date at this point of time - <a href="http://www.reggieburnett.com/mysql-connectornet-6-0-6-has-been-released" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>MySQL Connector/Net 6.0.6, a new version of the all-managed .NET driver for MySQL has been released. This is a maintenance release and is approved for use in all situations.</p>
<p>It is now available in source and binary form from [<a href="http://dev.mysql.com/downloads/connector/net/6.0.html">http://dev.mysql.com/downloads/connector/net/6.0.html</a>] and mirror sites (note that not all mirror sites may be up to date at this point of time - if you can&#8217;t find this version on some mirror, please try again later or choose another download site.)</p>
<p>There are lots of bug fixes in this release so please review the changelog.</p>
<p>Thank you!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reggieburnett.com/mysql-connectornet-6-0-6-has-been-released/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Connector/Net 6.3 Alpha 2 has been released</title>
		<link>http://www.reggieburnett.com/mysql-connectornet-6-3-alpha-2-has-been-released</link>
		<comments>http://www.reggieburnett.com/mysql-connectornet-6-3-alpha-2-has-been-released#comments</comments>
		<pubDate>Tue, 02 Mar 2010 16:36:41 +0000</pubDate>
		<dc:creator>reggie</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.reggieburnett.com/?p=302</guid>
		<description><![CDATA[MySQL Connector/Net 6.3.1, a new version of the all-managed .NET driver
for MySQL has been released. This is an alpha release and is intended to
introduce you to the new features and enhancements we are planning. This
release should not be used in a production environment.
It is now available in source and binary form from
[http://dev.mysql.com/downloads/connector/net/6.3.html] and mirror sites
(note <a href="http://www.reggieburnett.com/mysql-connectornet-6-3-alpha-2-has-been-released" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>MySQL Connector/Net 6.3.1, a new version of the all-managed .NET driver<br />
for MySQL has been released. This is an alpha release and is intended to<br />
introduce you to the new features and enhancements we are planning. This<br />
release should not be used in a production environment.</p>
<p>It is now available in source and binary form from<br />
[<a href="http://dev.mysql.com/downloads/connector/net/6.1.html">http://dev.mysql.com/downloads/connector/net/6.3.html</a>] and mirror sites<br />
(note that not all mirror sites may be up to date at this point of time<br />
- if you can&#8217;t find this version on some mirror, please try again later<br />
or choose another download site.)</p>
<p>The new features or changes in this release are:</p>
<ul>
<li>Visual Studio 2010 RC support</li>
<li>Nested transaction scope support</li>
</ul>
<p>What we know may be broken<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<ul>
<li>Documentation is not updated yet and is not integrated into VS 2010</li>
<li>Some users are having trouble installing.  We are working hard to determine what is causing this problem.  These users may continue having trouble with 6.3.1.  Please be patient as we work through this.</li>
</ul>
<p>Please let us know what else we broke and how we can make it better!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reggieburnett.com/mysql-connectornet-6-3-alpha-2-has-been-released/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>MySQL Connector/Net 6.3.0 alpha 1 has been released</title>
		<link>http://www.reggieburnett.com/mysql-connectornet-6-3-0-alpha-1-has-been-released</link>
		<comments>http://www.reggieburnett.com/mysql-connectornet-6-3-0-alpha-1-has-been-released#comments</comments>
		<pubDate>Tue, 16 Feb 2010 00:01:07 +0000</pubDate>
		<dc:creator>reggie</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.reggieburnett.com/?p=278</guid>
		<description><![CDATA[MySQL Connector/Net 6.3.0, a new version of the all-managed .NET driver
for MySQL has been released. This is an alpha release and is intended to
introduce you to the new features and enhancements we are planning. This
release should not be used in a production environment.
It is now available in source and binary form from
[http://dev.mysql.com/downloads/connector/net/6.3.html] and mirror sites
(note <a href="http://www.reggieburnett.com/mysql-connectornet-6-3-0-alpha-1-has-been-released" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>MySQL Connector/Net 6.3.0, a new version of the all-managed .NET driver<br />
for MySQL has been released. This is an alpha release and is intended to<br />
introduce you to the new features and enhancements we are planning. This<br />
release should not be used in a production environment.</p>
<p>It is now available in source and binary form from<br />
[<a href="http://dev.mysql.com/downloads/connector/net/6.1.html">http://dev.mysql.com/downloads/connector/net/6.3.html</a>] and mirror sites<br />
(note that not all mirror sites may be up to date at this point of time<br />
- if you can&#8217;t find this version on some mirror, please try again later<br />
or choose another download site.)</p>
<p><strong> New features or changes:</strong></p>
<ul>
<li>Visual Studio 2010 RC support</li>
<li>Nested transaction scope support</li>
</ul>
<p><strong> What we know may be broken </strong></p>
<ul>
<li>Documentation is not updated yet and is not integrated into VS 2010</li>
<li>Data editing view (in VS) does not function in this build</li>
</ul>
<p>Please let us know what else we broke and how we can make it better!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reggieburnett.com/mysql-connectornet-6-3-0-alpha-1-has-been-released/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Custom Installer and .NET 4 problem?  Solved!</title>
		<link>http://www.reggieburnett.com/custom-installer-and-net-4-problem-solved</link>
		<comments>http://www.reggieburnett.com/custom-installer-and-net-4-problem-solved#comments</comments>
		<pubDate>Fri, 12 Feb 2010 17:53:24 +0000</pubDate>
		<dc:creator>reggie</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET 4.0]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.reggieburnett.com/?p=275</guid>
		<description><![CDATA[I recently encountered a problem with custom installers and .NET 4. If you  are using an Installer-derived class in an assembly that allows partially  trusted callers then you may see this when you attempt to install with  InstallUtil:
Inheritance security rules violated by type: &#8216;Class&#8217;. Derived  types must either match the security accessibility <a href="http://www.reggieburnett.com/custom-installer-and-net-4-problem-solved" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I recently encountered a problem with custom installers and .NET 4. If you  are using an Installer-derived class in an assembly that allows partially  trusted callers then you may see this when you attempt to install with  InstallUtil:</p>
<p><strong><em>Inheritance security rules violated by type: &#8216;Class&#8217;. Derived  types must either match the security accessibility of the base type or be less  accessible.</em></strong></p>
<p>After a little googling, I found <a href="http://weblogs.asp.net/peterblum/archive/2009/11/06/typeloadexception-based-on-security-transparent-code-level-2.aspx">this</a> post that helped me solve part of the issue.  The other thing you need to do is  go to your installer class and add the following attributes to it.  These will  demand full trust for the installer class.</p>
<p>[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name =  "FullTrust")]<br />
[PermissionSetAttribute(SecurityAction.LinkDemand, Name =  "FullTrust")]</p>
<p>That’s it!  Your installer class should work with .NET 2 and .NET 4 now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reggieburnett.com/custom-installer-and-net-4-problem-solved/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tracing changes in MySQL Connector/Net 6.2 &#8211; Part 2</title>
		<link>http://www.reggieburnett.com/tracing-changes-in-mysql-connectornet-6-2-part-2</link>
		<comments>http://www.reggieburnett.com/tracing-changes-in-mysql-connectornet-6-2-part-2#comments</comments>
		<pubDate>Wed, 06 Jan 2010 14:44:00 +0000</pubDate>
		<dc:creator>reggie</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.reggieburnett.com/tracing-changes-in-mysql-connectornet-6-2-part-2/</guid>
		<description><![CDATA[In our last installment we found our hero investigating the tracing changes found in Connector/Net 6.2.&#160; This time we’ll take a closer look at the format of the trace data and how developers can use that information to write new and interesting trace listeners.
Understanding the plumbing
The first thing we need to understand is a little <a href="http://www.reggieburnett.com/tracing-changes-in-mysql-connectornet-6-2-part-2" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>In our last <a href="http://www.reggieburnett.com/post/Tracing-changes-in-MySQL-ConnectorNet-62-e28093-Part-1.aspx">installment</a> we found our hero investigating the tracing changes found in Connector/Net 6.2.&#160; This time we’ll take a closer look at the format of the trace data and how developers can use that information to write new and interesting trace listeners.</p>
<p><strong><u>Understanding the plumbing</u></strong></p>
<p>The first thing we need to understand is a little about how the trace messages are routed.&#160; The main method we are interested in is <a href="http://msdn.microsoft.com/en-us/library/sdzz33s6.aspx">TraceSource.TraceEvent</a>.&#160; Here is the signature.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:d56d5cd1-9eea-44f7-b0db-fa3733d08c57" class="wlWriterEditableSmartContent">
<pre name="code" class="c#">public void TraceEvent(
    TraceEventType eventType,
    int id,
    string format,
    params Object[] args)</pre>
</div>
<p>All the other TraceSource methods like TraceInformation eventually boil down to a call to TraceEvent.&#160; TraceEvent will run through all the attached listeners and call the <a href="http://msdn.microsoft.com/en-us/library/d193webf.aspx">TraceEvent</a> method on each.</p>
<p>The default behavior of listeners is to eventually call String.Format using the format given.&#160; It plugs the parameters in and comes out with a string that can be sent to the console, to a file, or some other output.&#160; Thankfully Microsoft saw fit to make TraceEvent virtual allowing derivative listeners to override and do interesting things.</p>
<p><strong><u>How we use TraceEvent</u></strong></p>
<p>Here is the signature for <a href="http://msdn.microsoft.com/en-us/library/d193webf.aspx">TraceListener.TraceEvent</a>.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:27c20dbc-7ce1-4a8a-8a52-eaa35fc60d45" class="wlWriterEditableSmartContent">
<pre name="code" class="c#">public virtual void TraceEvent(
    TraceEventCache eventCache,
    string source,
    TraceEventType eventType,
    int id,
    string format,
    params Object[] args)</pre>
</div>
<p><strong>eventCache</strong> is provided by the framework and contains information such as process id, thread id, timestamp, etc.</p>
<p><strong>source</strong>&#160; is the name of the TraceSource that provided the event</p>
<p><strong>eventType </strong>is the .NET defined type of this event.&#160; This can have values such as Information, Warning, Error, etc.</p>
<p><strong>id</strong>&#160; is the application provided event id.&#160; This value is application defined and we’ll explain how we use it later in this post.</p>
<p><strong>format </strong>is the parameters string message that listeners such as ConsoleTraceListener would use for output</p>
<p><strong>args</strong> is the array of arguments available to plug into the format string.&#160; This is the actual data for the event.</p>
<p>The key to using the data provided in TraceEvent is simply to know that the data always comes in a specific order and format.&#160; The following information only applies to events coming from the <strong>mysql </strong>source.&#160; The eventCache, source, eventType, and format parameters are self explanatory so we’ll start with id.</p>
<p>The id parameter is our MySql-centric event id.&#160; We wanted to give very specific information about the type of event.&#160; We have a public enum available in the 6.2 assembly called MySqlTraceEventType.&#160; Here is the definition.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c3247403-938f-409f-8ef2-e63455b73d92" class="wlWriterEditableSmartContent">
<pre name="code" class="c#">public enum MySqlTraceEventType : int
{
    ConnectionOpened = 1,
    ConnectionClosed,
    QueryOpened,
    ResultOpened,
    ResultClosed,
    QueryClosed,
    StatementPrepared,
    StatementExecuted,
    StatementClosed,
    NonQuery,
    UsageAdvisorWarning,
    Warning,
    Error
}</pre>
</div>
<p>Before we talk about the event-specific data points, let me mention about a small problem we needed to solve.&#160; We wanted to have a numeric id attached to each event that would allow all the events belonging to a given query to be gathered together.&#160; The only way we could accomplish that was to use a counter that gets incremented each time a driver is opened.&#160; (remember we needed a value that is unique on the same thread so we can’t use process id, thread id, or event MySQL server thread id). We’ll call this the driver id and every event that comes from the <strong>mysql </strong>source has this driver id as the first member in the args array.</p>
<p>Here’s a table that lists each mysql event and what the arguments array looks like.&#160; Please keep in mind that these arguments start in the second element (index == 1)</p>
<table border="0" cellspacing="0" cellpadding="2" width="514">
<tbody>
<tr>
<td valign="top" width="200"><strong>Event</strong></td>
<td valign="top" width="312"><strong>Arguments</strong></td>
</tr>
<tr>
<td valign="top" width="200">ConnectionOpened</td>
<td valign="top" width="312">connection string</td>
</tr>
<tr>
<td valign="top" width="200">ConnectionClosed</td>
<td valign="top" width="312">&lt;none&gt;</td>
</tr>
<tr>
<td valign="top" width="200">QueryOpened</td>
<td valign="top" width="312">mysql connection id, query text</td>
</tr>
<tr>
<td valign="top" width="200">ResultOpened</td>
<td valign="top" width="312">field count, affected rows (-1 if select), inserted id (-1 if select)</td>
</tr>
<tr>
<td valign="top" width="200">ResultClosed</td>
<td valign="top" width="312">total rows read, rows skipped, size of resultset (in bytes)</td>
</tr>
<tr>
<td valign="top" width="200">QueryClosed</td>
<td valign="top" width="312">&lt;none&gt;</td>
</tr>
<tr>
<td valign="top" width="200">StatementPrepared</td>
<td valign="top" width="312">prepared sql, statement id</td>
</tr>
<tr>
<td valign="top" width="200">StatementExecuted</td>
<td valign="top" width="312">statement id, mysql server thread id</td>
</tr>
<tr>
<td valign="top" width="200">StatementClosed</td>
<td valign="top" width="312">statement id</td>
</tr>
<tr>
<td valign="top" width="200">NonQuery</td>
<td valign="top" width="312">&lt;varies&gt;</td>
</tr>
<tr>
<td valign="top" width="200">UsageAdvisorWarning</td>
<td valign="top" width="312">usage advisor flag (see below)</td>
</tr>
<tr>
<td valign="top" width="200">Warning</td>
<td valign="top" width="312">level, code, message</td>
</tr>
<tr>
<td valign="top" width="200">Error</td>
<td valign="top" width="312">error&#160; number, message</td>
</tr>
</tbody>
</table>
<p>Here’s the definition of the publicly available UsageAdvisorWarningFlags enum.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:d2a1bf5d-49d7-404f-9bf9-22b424852b26" class="wlWriterEditableSmartContent">
<pre name="code" class="c#">public enum UsageAdvisorWarningFlags
{
    NoIndex = 1,
    BadIndex,
    SkippedRows,
    SkippedColumns,
    FieldConversion
}</pre>
</div>
<p>So that’s it.&#160; This information will be documented and may change slightly as we find problems.&#160; In fact we’ve already identified a small issue and may add a “current database” parameter to the connection opened event since the current database can be different than what is set on the connection string.&#160; Be sure, when we make these changes they’ll be documented and by checking the version of the assemblies involved you can do the right thing.</p>
<p>Armed with this information you should be able to go forth and make very interesting trace sniffing apps for MySQL.&#160; If you accept such a challenge, drop me a line.&#160; I would love to know what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reggieburnett.com/tracing-changes-in-mysql-connectornet-6-2-part-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tracing changes in MySQL Connector/Net 6.2 &#8211; Part 1</title>
		<link>http://www.reggieburnett.com/tracing-changes-in-mysql-connectornet-6-2-part-1</link>
		<comments>http://www.reggieburnett.com/tracing-changes-in-mysql-connectornet-6-2-part-1#comments</comments>
		<pubDate>Wed, 06 Jan 2010 14:43:00 +0000</pubDate>
		<dc:creator>reggie</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.reggieburnett.com/tracing-changes-in-mysql-connectornet-6-2-part-1/</guid>
		<description><![CDATA[For years, Connector/Net has been a key part of any MySQL &#38; .NET developer’s toolbox.&#160; Tracing is also a key part of a developer’s life and Connector/Net has always output trace messages. 
This first post is a review of .NET tracing systems and how we changed our trace output.&#160; The second post will cover how <a href="http://www.reggieburnett.com/tracing-changes-in-mysql-connectornet-6-2-part-1" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>For years, Connector/Net has been a key part of any MySQL &amp; .NET developer’s toolbox.&#160; Tracing is also a key part of a developer’s life and Connector/Net has always output trace messages. </p>
<p>This first post is a review of .NET tracing systems and how we changed our trace output.&#160; The second post will cover how developers can use the new tracing format to develop new applications.</p>
<p><u><strong>Tracing in .NET 1.x</strong></u></p>
<p>.NET shipped with a very simple tracing system.&#160; You have a static class named Trace that has static methods such as Write and WriteLine.&#160; An application can use code like the following to output a message to the trace log. </p>
<p>Now that we have output our message, how do we direct it somewhere?&#160; You do that with listeners.&#160; There are a few standard listeners included in the framework (ConsoleTraceListener, XmlTraceListener, EventLogTraceListener) but you are free to create your own.&#160; You can attach a listener at runtime or via an application configuration file.&#160; There’s no need to show you how that is done.&#160; You can easily find it on the web.&#160; What we really want to talk about are changes in .NET 2 tracing and how Connector/Net makes use of it.</p>
<p><strong><u>Tracing in .NET 2.x</u></strong></p>
<p>Developers usually want to just trace a particular part of an application.&#160; They may just want to get the network tracing or maybe just the file I/O.&#160; To accommodate this, Microsoft created a new class named TraceSource.&#160; You can really think of it as just a Trace class with a name.&#160; Now when you add listeners via the config file you have to add them to a source with a particular name.&#160; Here’s what it might look like.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:6cf368f1-b97c-4667-9c10-d25872ccc194" class="wlWriterEditableSmartContent">
<pre name="code" class="xml">&lt;configuration&gt;
  &lt;system.diagnostics&gt;
    &lt;sources&gt;
      &lt;source name="TraceTest" switchName="SourceSwitch"
              switchType="System.Diagnostics.SourceSwitch" &gt;
        &lt;listeners&gt;
          &lt;add name="console" /&gt;
          &lt;remove name ="Default" /&gt;
        &lt;/listeners&gt;
      &lt;/source&gt;
    &lt;/sources&gt;
    &lt;switches&gt;
      &lt;!-- You can set the level at which tracing is to occur --&gt;
      &lt;add name="SourceSwitch" value="Warning" /&gt;
      &lt;!-- You can turn tracing off --&gt;
      &lt;!--add name="SourceSwitch" value="Off" --&gt;
   &lt;/switches&gt;
   &lt;sharedListeners&gt;
      &lt;add name="console"
           type="System.Diagnostics.ConsoleTraceListener"
           initializeData="false"/&gt;
   &lt;/sharedListeners&gt;
 &lt;/system.diagnostics&gt;
&lt;/configuration&gt;</pre>
</div>
<p>You can also specify a switch level, a filter level, and trace options (like should the output include process id, thread id, timestamp, etc). </p>
<p>Starting with Connector/Net 6.2, we have started using TraceSource to output our trace data.&#160; Our source is named, cleverly enough, <em><strong>mysql</strong></em>. </p>
<p><strong><u>Using the mysql trace source</u></strong></p>
<p>Using our new tracing is very simple. Just use a configuration block similar to what I have above except use “mysql” as the name of the source instead of “TraceTest”.&#160; One question you may have, though, is how to add listeners to our source at runtime.&#160; You do that with the new MySqlTrace class.&#160; Here’s how.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:da616cd5-8d3c-46c5-abbf-656258af1401" class="wlWriterEditableSmartContent">
<pre name="code" class="c#">MySqlTrace.Listeners.Add(new ConsoleTraceListener());</pre>
</div>
<p><u><strong>Difference is in the details</strong></u></p>
<p>We’ve also increased the level of detail included in our trace messages.&#160; Each trace message includes a counter value that attaches it to other trace messages belong to the same connection.&#160; We did this to enable the development of applications such as a powerful log viewer that will also serve as a visual trace listener.&#160; With this app, a developer would be able to query the log output for various scenarios.&#160; Examples would be “show me all queries where all the rows were not read</p>
<p><strong><u>So where to from here?</u></strong></p>
<p>There’s much more to say about our new trace output and, in my next post, I’ll go into the exact format of the data, and we (and you) can use that data to create new and exciting trace listeners.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reggieburnett.com/tracing-changes-in-mysql-connectornet-6-2-part-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Connector/Net 6.2.2 GA has been released</title>
		<link>http://www.reggieburnett.com/mysql-connectornet-6-2-2-ga-has-been-released-3</link>
		<comments>http://www.reggieburnett.com/mysql-connectornet-6-2-2-ga-has-been-released-3#comments</comments>
		<pubDate>Mon, 21 Dec 2009 17:04:59 +0000</pubDate>
		<dc:creator>reggie</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.reggieburnett.com/?p=242</guid>
		<description><![CDATA[MySQL Connector/Net 6.2.2, a new version of the all-managed .NET driver for MySQL has been released.This is our latest GA release and is suitable for use in all scenarios against servers ranging from version 4.1 to 5.4!
It is now available in source and binary here and mirror sites (note that not all mirror sites may be up <a href="http://www.reggieburnett.com/mysql-connectornet-6-2-2-ga-has-been-released-3" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>MySQL Connector/Net 6.2.2, a new version of the all-managed .NET driver for MySQL has been released.This is our latest GA release and is suitable for use in all scenarios against servers ranging from version 4.1 to 5.4!</p>
<p>It is now available in source and binary <a href="http://dev.mysql.com/downloads/connector/net/6.2.html" target="_blank">here</a> and mirror sites (note that not all mirror sites may be up to date at this point of time &#8211; if you can&#8217;t find this version on some mirror, please try again later or choose another download site.)</p>
<p>The new features or changes in this release are:</p>
<ul>
<li>Connection pool cleanup timer.  We now utilize a timer that cleans idle connections that are no longer connected every 3 minutes</li>
<li>We are now using stream and TCP-based timeouts to handle command timeouts.  This is more inline with what SqlClient does and should be more reliable than our old timer based approach</li>
<li>Completely refactored MySqlConnectionStringBuilder</li>
<li>We now support the TableDirect query type</li>
<li>Completely refactored our logging system.  Our trace data is now published using TraceSource and has a specific format so to allow third party listeners to be created.</li>
<li>Lots of bug fixes</li>
</ul>
<p>Please let us know what else we broke and how we can make it better!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.reggieburnett.com/mysql-connectornet-6-2-2-ga-has-been-released-3/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
