<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>The Johnnynine Weblog</title>
  <link rel="alternate" type="text/html" href="http://johnnynine.com/blog/" />
  <link rel="self" href="http://johnnynine.com/blog/SyndicationService.asmx/GetAtom" />
  <logo>http://johnnynine.com/images/j9rss64x64.gif</logo>
  <icon>favicon.ico</icon>
  <updated>2010-02-08T18:31:39.9434646-07:00</updated>
  <author>
    <name>Johnny Hughes</name>
  </author>
  <subtitle>A weblog by Johnny Hughes</subtitle>
  <id>http://johnnynine.com/blog/</id>
  <generator uri="http://www.dasblog.net" version="1.9.6264.0">DasBlog</generator>
  <entry>
    <title>How to generate a CREATE TABLE script from a MySQL table</title>
    <link rel="alternate" type="text/html" href="http://johnnynine.com/blog/HowToGenerateACREATETABLEScriptFromAMySQLTable.aspx" />
    <id>http://johnnynine.com/blog/PermaLink,guid,49fd6a95-b385-4f88-9325-d95499dcbcae.aspx</id>
    <published>2010-02-08T18:31:39.9434646-07:00</published>
    <updated>2010-02-08T18:31:39.9434646-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <pre>
          <code>SHOW CREATE TABLE table_name</code>
        </pre>
        <pre>
          <code>
          </code> </pre>
        <img width="0" height="0" src="http://johnnynine.com/blog/aggbug.ashx?id=49fd6a95-b385-4f88-9325-d95499dcbcae" />
        <br />
        <hr />
View the read thing at <a href="http://www.johnnynine.com/blog">The Johnnynine Weblog</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>MonoTouch Resources</title>
    <link rel="alternate" type="text/html" href="http://johnnynine.com/blog/MonoTouchResources.aspx" />
    <id>http://johnnynine.com/blog/PermaLink,guid,f07a2faf-0a99-4aae-a4c7-84bdad5cc4f0.aspx</id>
    <published>2009-11-05T21:43:24.8273262-07:00</published>
    <updated>2009-11-06T10:56:48.8548876-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p align="left">
          <font size="2">Here’s a list of good MonoTouch related resources for getting started
with C# development for the iPhone.</font>
        </p>
        <p align="left">
          <font size="2">  </font>
        </p>
        <p align="left">
          <a href="http://monotouch.net/">
            <strong>
              <font size="2">MonoTouch from Novell</font>
            </strong>
          </a>
          <strong>
            <font size="2">
            </font>
          </strong>
        </p>
        <p align="left">
          <a href="http://monotouch.info/">
            <font size="2">MonoTouch.info</font>
          </a>
          <font size="2"> –
Good collection of resources</font>
        </p>
        <p align="left">
          <strong>
            <font size="2">Documentation</font>
          </strong>
        </p>
        <blockquote>
          <p align="left">
            <a href="http://monotouch.net/Documentation">
              <font size="2">MonoTouch</font>
            </a>
            <br />
            <a href="http://developer.apple.com/iphone/library/navigation/index.html">
              <font size="2">iPhone
OS Reference Library</font>
            </a>
            <br />
            <a href="http://go-mono.com/docs/">
              <font size="2">Mono Documentation</font>
            </a>
            <br />
            <a href="http://tirania.org/tmp/rosetta.html">
              <font size="2">MonoTouch Rosetta Stone</font>
            </a>
            <font size="2">
            </font>
          </p>
        </blockquote>
        <dt>
          <div align="left"> 
</div>
          <dt>
            <p align="left">
              <strong>
                <font size="2">Blogs</font>
              </strong>
            </p>
            <dl>
              <font size="2">
              </font>
              <blockquote>
                <p align="left">
                  <a href="http://mikebluestein.wordpress.com/">
                    <font size="2">Mike's Dev Blog</font>
                  </a>
                  <br />
                  <a href="http://www.codesnack.com/">
                    <font size="2">CodeSnack</font>
                  </a>
                  <br />
                  <a href="http://www.alexyork.net/blog/?tag=/MonoTouch">Alex York .NET</a>
                  <br />
                  <font size="2">
                    <a href="http://martinbowling.com/">martin bowling.com</a>
                    <br />
                  </font>
                  <a href="http://simon.nureality.ca/?cat=10">
                    <font size="2">Simon says</font>
                  </a>
                  <br />
                  <a href="http://sabonrai.wordpress.com/tag/monotouch/">
                    <font size="2">Sabon Rai Software</font>
                  </a>
                  <br />
                  <a href="http://ksheffield.com/blog/">
                    <font size="2">Kevin Sheffield</font>
                  </a>
                  <br />
                  <a href="http://www.conceptdevelopment.net/iPhone/">
                    <font size="2">conceptdevelopment.net</font>
                  </a>
                  <br />
                  <a href="http://spinningtheweb.blogspot.com/search/label/MonoTouch">
                    <font size="2">Spinning
the Web</font>
                  </a>
                  <br />
                  <a href="http://rlopezxl.wordpress.com/">Ruben’s Dev Blog</a>
                </p>
              </blockquote>
            </dl>
          </dt>
          <font size="2">
          </font>
          <dt>
            <p align="left">
              <strong>
                <font size="2">Tutorials</font>
              </strong>
            </p>
            <dl>
              <dl>
                <dt>
                  <p align="left">
                    <a href="http://www.stanford.edu/class/cs193p/cgi-bin/index.php">
                      <font size="2">Standford.edu
iPhone Application Programming</font>
                    </a>
                    <br />
                    <br />
                  </p>
                </dt>
              </dl>
            </dl>
            <p>
            </p>
          </dt>
          <img width="0" height="0" src="http://johnnynine.com/blog/aggbug.ashx?id=f07a2faf-0a99-4aae-a4c7-84bdad5cc4f0" />
          <br />
          <hr />
View the read thing at <a href="http://www.johnnynine.com/blog">The Johnnynine Weblog</a>. 
</dt>
      </div>
    </content>
  </entry>
  <entry>
    <title>MonoTouch Resources</title>
    <link rel="alternate" type="text/html" href="http://johnnynine.com/blog/MonoTouchResources.aspx" />
    <id>http://johnnynine.com/blog/PermaLink,guid,be7e8419-fd11-4d7d-a452-7ee90c9cbb7e.aspx</id>
    <published>2009-11-05T11:36:00.3827742-07:00</published>
    <updated>2009-11-05T17:15:54.0873262-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Here’s a list of good MonoTouch related resources for getting started with C# development
for the iPhone.
</p>
        <p>
  
</p>
        <p>
          <a href="http://monotouch.net/">
            <strong>MonoTouch from Novell</strong>
          </a>
          <strong>
          </strong>
        </p>
        <p>
          <a href="http://monotouch.info/">MonoTouch.info</a> – Good collection of resources
</p>
        <p>
          <strong>Documentation</strong>
        </p>
        <dl>
          <p>
          </p>
          <dl>
            <dt>
              <a href="http://monotouch.net/Documentation">MonoTouch</a>
              <dt>
                <a href="http://developer.apple.com/iphone/library/navigation/index.html">iPhone
OS Reference Library</a>
                <dt>
                  <a href="http://go-mono.com/docs/">Mono Documentation</a>
                  <dt>
                    <a href="http://tirania.org/tmp/rosetta.html">MonoTouch
Rosetta Stone</a>
                  </dt>
                </dt>
              </dt>
            </dt>
          </dl>
        </dl>
        <dt>
          <p>
            <strong>Blogs</strong>
          </p>
          <dl>
            <p>
            </p>
            <dl>
              <dt>
                <a href="http://mikebluestein.wordpress.com/">Mike's Dev Blog</a>
                <dt>
                  <a href="http://www.codesnack.com/">CodeSnack</a>
                  <dt>
                    <a href="http://simon.nureality.ca/?cat=10">Simon
says</a>
                    <dt>
                      <a href="http://sabonrai.wordpress.com/tag/monotouch/">Sabon Rai Software</a>
                      <dt>
                        <a href="http://www.conceptdevelopment.net/iPhone/">conceptdevelopment.net</a>
                        <dt>
                          <a href="http://spinningtheweb.blogspot.com/search/label/MonoTouch">Spinning
the Web</a>
                        </dt>
                      </dt>
                    </dt>
                  </dt>
                </dt>
              </dt>
            </dl>
          </dl>
          <p>
          </p>
          <dt>
            <h5> 
</h5>
            <p>
            </p>
            <p>
            </p>
            <p>
            </p>
            <p>
            </p>
          </dt>
          <img width="0" height="0" src="http://johnnynine.com/blog/aggbug.ashx?id=be7e8419-fd11-4d7d-a452-7ee90c9cbb7e" />
          <br />
          <hr />
View the read thing at <a href="http://www.johnnynine.com/blog">The Johnnynine Weblog</a>. 
</dt>
      </div>
    </content>
  </entry>
  <entry>
    <title>Getting URC MX-980 remote to work in Vista/Windows7</title>
    <link rel="alternate" type="text/html" href="http://johnnynine.com/blog/GettingURCMX980RemoteToWorkInVistaWindows7.aspx" />
    <id>http://johnnynine.com/blog/PermaLink,guid,98cab2b5-09ab-4a87-b72d-8fe804c86e7c.aspx</id>
    <published>2009-10-04T00:58:16.6279183-07:00</published>
    <updated>2009-10-04T00:58:16.6279183-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
This works with both 32bit and 64bit versions.
</p>
        <p>
The gist is that Vista and Windows 7 don’t recognize the remote when plugged into
the usb port. Although after upgrading the MX-980 editor via Live Update there is
a Vista driver under the program’s usb directory you need to assign the device in
Device Manager to “Microsoft USB Sync” instead.
</p>
        <p>
1. <a href="http://www.microsoft.com/windowsmobile/en-us/downloads/microsoft/device-center-download.mspx">Install
Mobile Device Center 6.1</a></p>
        <p>
2. Use Device Manage (after waking up the remote) to update it’s driver to “Microsoft
USB Sync”.
</p>
        <p>
 
</p>
        <p>
For a more complete write-up see <a href="http://adirob.blogspot.com/2007/06/get-your-urc-mx-3000-to-work-on-windows.html">Get
your URC MX-3000 to work on Windows Vista!</a></p>
        <img width="0" height="0" src="http://johnnynine.com/blog/aggbug.ashx?id=98cab2b5-09ab-4a87-b72d-8fe804c86e7c" />
        <br />
        <hr />
View the read thing at <a href="http://www.johnnynine.com/blog">The Johnnynine Weblog</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>Migrating from VMWare to Virtualbox</title>
    <link rel="alternate" type="text/html" href="http://johnnynine.com/blog/MigratingFromVMWareToVirtualbox.aspx" />
    <id>http://johnnynine.com/blog/PermaLink,guid,985ee543-5037-4aae-b647-e73b49bae4d5.aspx</id>
    <published>2009-10-03T12:46:02.0669795-07:00</published>
    <updated>2009-10-03T12:46:41.6369795-07:00</updated>
    <category term="Fixes" label="Fixes" scheme="http://johnnynine.com/blog/CategoryView,category,Fixes.aspx" />
    <category term="Technical" label="Technical" scheme="http://johnnynine.com/blog/CategoryView,category,Technical.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Sun’s Virtualbox supports VMWare VMDK files (virtual hard drives) however when booting
from a vmdk file a couple of things must usually be done to prevent the virtual machine
from hanging when booting up.
</p>
        <p>
1. Booting in safe mode will reveal that the system hangs at the c:\system32\drivers\agp440.sys
file. There are a variety of ways around this but the simplest (yet not the cleanest)
way is to boot in recovery mode (or from another VM with the vmdk mounted as a second
drive) and delete the agp440.sys file.
</p>
        <p>
2.  After rebooting with the vmdk file the system will likely hang at the Mup.sys
file. This is a simple fix, in the VM’s System settings make sure the “Enable IO APIC”
checkbox is checked.
</p>
        <p>
For a more detailed explanation with other migration tips please see <a href="http://www.digizenstudio.com/blog/2008/05/20/vmware-to-virtualbox-migration-issues/">Vmware
to Virtualbox Migration Issues</a>.
</p>
        <img width="0" height="0" src="http://johnnynine.com/blog/aggbug.ashx?id=985ee543-5037-4aae-b647-e73b49bae4d5" />
        <br />
        <hr />
View the read thing at <a href="http://www.johnnynine.com/blog">The Johnnynine Weblog</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>IIS 7 and .NET WCF stop responding to localhost, 127.0.0, and [::1] requests</title>
    <link rel="alternate" type="text/html" href="http://johnnynine.com/blog/IIS7AndNETWCFStopRespondingToLocalhost12700And1Requests.aspx" />
    <id>http://johnnynine.com/blog/PermaLink,guid,25952ef7-7ed2-4f9d-bcdc-428a4c5304fc.aspx</id>
    <published>2009-05-22T01:03:06.6780693-07:00</published>
    <updated>2009-05-22T01:03:06.6780693-07:00</updated>
    <category term="Fixes" label="Fixes" scheme="http://johnnynine.com/blog/CategoryView,category,Fixes.aspx" />
    <category term="Technical" label="Technical" scheme="http://johnnynine.com/blog/CategoryView,category,Technical.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
My Vista IIS 7 box recently stopped listening on the localhost ip addresses for no
apparent reason.  I don’t know how this happened but I eventually found the solution. 
</p>
        <p>
I ran across the following command line that lists all the ip addresses that IIS is
listening on (but I'm not sure how this differs from the IIS web site bindings): 
</p>
        <p>
          <strong>netsh http show iplisten </strong>
        </p>
        <p>
This showed one ip address, which was my machine's ip address. 
</p>
        <p>
I ran this command on another vista pc that was working and it returned an empty list. 
</p>
        <p>
I then ran the following command line to remove the rouge ip address from the list: 
</p>
        <p>
          <strong>netsh http delete iplisten ipaddress=192.1.1.123</strong>
        </p>
        <p>
Once I removed the ip address so the list was empty (which is what I have on another
vista machine for comparison), localhost started working again. 
</p>
        <p>
  
</p>
        <p>
FYI: This also applied to .NET WCF endpoints. 
</p>
        <p>
  
</p>
        <p>
          <em>I believe the httpcfg command can do the same in older Windows OS versions.</em>
          <img width="0" height="0" src="http://johnnynine.com/blog/aggbug.ashx?id=25952ef7-7ed2-4f9d-bcdc-428a4c5304fc" />
          <br />
          <hr />
View the read thing at <a href="http://www.johnnynine.com/blog">The Johnnynine Weblog</a>. 
</p>
      </div>
    </content>
  </entry>
  <entry>
    <title>Assembly not found when compiling on a new/different machine</title>
    <link rel="alternate" type="text/html" href="http://johnnynine.com/blog/AssemblyNotFoundWhenCompilingOnANewdifferentMachine.aspx" />
    <id>http://johnnynine.com/blog/PermaLink,guid,fa2e2809-6e61-4f97-b618-cdbfdb13d652.aspx</id>
    <published>2009-01-19T15:53:38.0428434-07:00</published>
    <updated>2009-01-19T15:53:38.0428434-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Although there is a relative Reference HintPath in the .csproj file, when you move
a solution to a different machine, the hint path may not be correct for that machine. 
An easy way to get around this problem is to just ensure that your needed assembly
is in the Public Assemblies folder: Program Files\Microsoft Visual Studio .NET\Common7\IDE\Public
Assemblies.  Of course this should really only be done when you don't make any
changes to the referenced assembly, such as a 3rd party dll.
</p>
        <p>
 
</p>
        <p>
A good summary: <a title="http://blogs.msdn.com/manishagarwal/archive/2005/09/28/474769.aspx" href="http://blogs.msdn.com/manishagarwal/archive/2005/09/28/474769.aspx">http://blogs.msdn.com/manishagarwal/archive/2005/09/28/474769.aspx</a></p>
        <p>
 
</p>
        <p>
From: <a title="http://msdn2.microsoft.com/en-us/library/8y13ka7c(VS.80).aspx" href="http://msdn2.microsoft.com/en-us/library/8y13ka7c(VS.80).aspx">http://msdn2.microsoft.com/en-us/library/8y13ka7c(VS.80).aspx</a></p>
        <p>
When the project system finds an assembly reference, it resolves the reference by
looking in the following locations, in the following order: 
</p>
        <p>
1. The project directory. The project directory files appear in Solution Explorer
when Show All Files is not in effect.<br />
2. Directories specified in this dialog box.<br />
3. Directories displaying files in the Add Reference Dialog Box.<br />
4. The project's obj directory. (Any assemblies created as a result of adding a COM
reference to your project are added to the project's obj directory.) 
</p>
        <p>
From: <a title="http://msdn2.microsoft.com/en-us/library/wkze6zky(VS.80).aspx" href="http://msdn2.microsoft.com/en-us/library/wkze6zky(VS.80).aspx">http://msdn2.microsoft.com/en-us/library/wkze6zky(VS.80).aspx</a></p>
        <p>
To display an assembly in the Add Reference dialog box 
</p>
        <p>
* Move or copy the assembly to one of the following locations:
</p>
        <blockquote>
          <p>
o The current project directory (you can find these assemblies using the Browse tab).<br />
o Other project directories within the same solution (you can find these assemblies
using the Projects tab).<br />
o The Public Assemblies folder: Program Files\Microsoft Visual Studio .NET\Common7\IDE\Public
Assemblies; (you can find these assemblies on the .NET tab).
</p>
        </blockquote>
        <p>
* Set a reference path to the directory containing the assembly using the Reference
Paths Dialog Box (Visual Basic) or the Reference Paths Page, Project Designer (C#,
J#).<br />
* Set a registry key that specifies the location of assemblies to display (This works
with <strong>MSBUILD</strong>): 
</p>
        <p>
Add one of the following registry keys, where &lt;AssemblyLocation&gt; is the directory
of the assemblies that you want to appear in the Add Reference dialog box, for example,
C:\MyAssemblies\. 
</p>
        <p>
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\&lt;version&gt;\AssemblyFoldersEx\MyAssemblies]@="&lt;AssemblyLocation&gt;" 
</p>
        <p>
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\&lt;version&gt;\AssemblyFoldersEx\MyAssemblies]@="&lt;AssemblyLocation&gt;"
</p>
        <p>
Basically the AssemblyFoldersEx key can have lots of subkeys.  The subkeys can
have any name.
</p>
        <img width="0" height="0" src="http://johnnynine.com/blog/aggbug.ashx?id=fa2e2809-6e61-4f97-b618-cdbfdb13d652" />
        <br />
        <hr />
View the read thing at <a href="http://www.johnnynine.com/blog">The Johnnynine Weblog</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>ASP.NET Tracing</title>
    <link rel="alternate" type="text/html" href="http://johnnynine.com/blog/ASPNETTracing.aspx" />
    <id>http://johnnynine.com/blog/PermaLink,guid,dae9436f-cd63-436c-b084-78e6c304d474.aspx</id>
    <published>2009-01-06T11:18:35.8148718-07:00</published>
    <updated>2009-01-06T11:18:35.8148718-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I seem to forget the ASP.NET tracing page name occasionally, so here it is if I forget
again:
</p>
        <blockquote>
          <p>
            <strong>trace.axd</strong>
          </p>
        </blockquote>
        <p>
Here's more detailed information:  <a href="http://msdn.microsoft.com/en-us/library/bb386420.aspx">ASP.NET
Tracing Overview</a></p>
        <img width="0" height="0" src="http://johnnynine.com/blog/aggbug.ashx?id=dae9436f-cd63-436c-b084-78e6c304d474" />
        <br />
        <hr />
View the read thing at <a href="http://www.johnnynine.com/blog">The Johnnynine Weblog</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>.NET 2.0 vs 3.0 vs 3.5</title>
    <link rel="alternate" type="text/html" href="http://johnnynine.com/blog/NET20Vs30Vs35.aspx" />
    <id>http://johnnynine.com/blog/PermaLink,guid,7a7b5d23-ab07-478e-b5e1-0850968b21c3.aspx</id>
    <published>2008-12-02T16:34:44.7947236-07:00</published>
    <updated>2008-12-02T16:34:44.7947236-07:00</updated>
    <category term=".NET" label=".NET" scheme="http://johnnynine.com/blog/CategoryView,category,.NET.aspx" />
    <category term="Technical" label="Technical" scheme="http://johnnynine.com/blog/CategoryView,category,Technical.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Wondering how the different .NET versions really fit together?  Scott Hanselman
gives a good rundown in his <a href="http://www.hanselman.com/blog/HowToSetAnIISApplicationOrAppPoolToUseASPNET35RatherThan20.aspx">How
to set an IIS Application or AppPool to use ASP.NET 3.5 rather than 2.0</a> article.
</p>
        <img width="0" height="0" src="http://johnnynine.com/blog/aggbug.ashx?id=7a7b5d23-ab07-478e-b5e1-0850968b21c3" />
        <br />
        <hr />
View the read thing at <a href="http://www.johnnynine.com/blog">The Johnnynine Weblog</a>. 
</div>
    </content>
  </entry>
  <entry>
    <title>Reading and Writing Unicode to/from a Unicode Oracle Database</title>
    <link rel="alternate" type="text/html" href="http://johnnynine.com/blog/ReadingAndWritingUnicodeTofromAUnicodeOracleDatabase.aspx" />
    <id>http://johnnynine.com/blog/PermaLink,guid,ce84131b-ce5a-4224-a91c-05ac7e5e627d.aspx</id>
    <published>2008-11-20T15:49:10.128512-07:00</published>
    <updated>2008-11-20T17:19:11.4945236-07:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Reading and Writing unicode strings to and from a Unicode Oracle database can be seem
tricky and there isn't much information available on the subject.  The solution
is actually fairly simple, just make sure you are using the proper connection string.
</p>
        <p>
          <strong>ADO.NET: This is simple, using the OracleClient ensure that the connection
string has: Unicode=true</strong>
        </p>
        <blockquote>
          <p>
            <i>Example: Data Source=ds;User ID=username;Password=pass1;Unicode=true;</i>
          </p>
        </blockquote>
        <p>
          <strong>ADO (VB6): In short the only 100% compatible solution is to use the ADO OraOleDB.Oracle
data provider.</strong>
        </p>
        <blockquote>
          <p>
            <i>Example: Provider=ORAOLEDB.ORACLE;Data Source=ds;User Id=username;Password=password;</i>
          </p>
        </blockquote>
        <p>
          <strong>It also seems that the East Asian language files must be installed when writing
those characters (at least with ADO).  This is done from the <em>Regional and
Language Option</em> control panel, Languages tab.</strong>
        </p>
        <p>
          <strong>When using parameters (at least with ADO) if not using a DSN connection (which
you can't really if using unicode), the appropriate parameter properties must be set
manually (such as size), otherwise the following error occurs: Run-time error '-2147217839
(80040e51)  Provider cannot derive parameter information and SetParameterInfo
has not been called. </strong>
        </p>
        <p>
 
</p>
        <p>
The grid below shows my test results from a VB6 application using ADO.
</p>
        <p>
          <font face="Courier New">Actual 2 Japanese chars written: "とら" which has unicode values
of 12392 and 12425. </font>
        </p>
        <p>
          <font face="Courier New">Oracle 10g AL32UTF8 database. </font>
        </p>
        <p>
          <font face="Courier New">write method  vb shows in     
read     read char 1    readchar 2       
actual value stored<br />
              debug
window     length   unicode value  unicode value    
in the database </font>
        </p>
        <p>
          <font face="Courier New">
            <strong>MSDAORA: Provider=msdaora;Data Source=ds;User Id=username;Password=password;</strong>
            <br />
FROM SQL:     ‚Æ‚ç            
2        12392         
12425             ‚Æ‚ç 
(4 characters)<br />
FROM PARARMS: ‚Æ‚ç            
2        12392         
12425             ‚Æ‚ç 
(4 characters)<br />
PRESAVED:     ¿¿              
2        -129          
-129             
とら<br /></font>
          <font face="Arial">
            <em>
              <font color="#ff0000">Conclusion:</font> Reads and writes
each encoded byte as separate characters, so the database ends up storing 4 characters
in this case instead of 2.  Reading is consistent with writing so the resulting
read value is actually correct in memory, but the stored database value is incorrectly
stored.  Reading a properly stored unicode string from the database results in
a corrupt read value.</em>
          </font>
        </p>
        <p>
          <font face="Courier New">
            <strong>DSN (Force SQL_WCHAR Support checked): dsn=dsnname;uid=username;pwd=password</strong>
            <br />
FROM SQL:     ??              
2        191           
191              
¿¿<br />
FROM PARARMS: ‚Æ‚ç            
2        12392         
12425             とら<br />
PRESAVED:     ‚Æ‚ç            
2        12392         
12425             とら<br /><font face="Arial"><em><font color="#ff0000">Conclusion:</font> When writing unicode
strings using normal sql the stored value is corrupt, however using parameters when
writing results in a properly stored value. Reading a properly stored unicode string
from the database is successfull.</em></font></font>
        </p>
        <p>
          <font face="Courier New">
            <strong>DSN (no workarounds checked): dsn=dsnname;uid=username;pwd=password</strong>
            <br />
FROM SQL:     ¿¿              
2       -129           
-129             
¿¿<br />
FROM PARARMS: ¿¿              
2       -129           
-129             
とら<br />
PRESAVED:     ¿¿              
2       -129           
-129             
とら<br /><font face="Arial"><em><font color="#ff0000">Conclusion:</font> When writing unicode
strings using normal sql the stored value is corrupt, however using parameters when
writing results in a properly stored value. Reading a properly stored unicode string
from the database is NOT successful.</em></font></font>
        </p>
        <p>
          <font face="Courier New">
            <strong>ORAOLEDB.ORACLE: Provider=ORAOLEDB.ORACLE;Data Source=ds;User
Id=username;Password=password;</strong>
            <br />
FROM SQL:     ‚Æ‚ç            
2        12392         
12425             とら<br />
FROM PARARMS: ‚Æ‚ç            
2        12392         
12425             とら<br />
PRESAVED:     ‚Æ‚ç            
2        12392         
12425             とら<br /><font face="Arial"><em><strong><font color="#008040">Conclusion:</font> This works
in all situations.</strong></em></font></font>
        </p>
        <p>
          <em>
            <font face="Arial">The PRESAVED lines above indicate a record was previously saved
to the database with a valid unicode value and was then read using the indicated data
provider.</font>
          </em>
        </p>
        <img width="0" height="0" src="http://johnnynine.com/blog/aggbug.ashx?id=ce84131b-ce5a-4224-a91c-05ac7e5e627d" />
        <br />
        <hr />
View the read thing at <a href="http://www.johnnynine.com/blog">The Johnnynine Weblog</a>. 
</div>
    </content>
  </entry>
</feed>