<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Blog posts by Gonzalo Gonzalez</title><link href="http://world.optimizely.com" /><updated>2010-04-09T18:15:00.0000000Z</updated><id>https://world.optimizely.com/blogs/Gonzalo-Gonzalez/</id> <generator uri="http://world.optimizely.com" version="2.0">Optimizely World</generator> <entry><title>Updating configuration to run CMS 6 on Oracle database</title><link href="https://world.optimizely.com/blogs/Gonzalo-Gonzalez/Dates/2010/3/How-to-Switch-the-Configuration-File-to-Oracle/" /><id>&lt;p&gt;If you created a site without a database (via EPiServer Deployment Center) or even have an existing CMS site which uses SQL Server as its database engine, you may want to run it against an Oracle database instead. The files available for download&amp;nbsp;&lt;a href=&quot;/link/e936ccdab2e04f70a19cc77b02294c00.zip&quot;&gt;here&lt;/a&gt; will take the hard slog out of manually changing the CMS configuration files (amoungst other things) so your site works with Oracle.&lt;/p&gt;
&lt;p&gt;Copy the contents of the zip file to a new folder called &quot;Oracle&quot; under the &amp;lt;Program Files&amp;gt;\EPiServer\CMS\6.0.530.0\Install\Modules folder. Note that on&amp;nbsp;64 bit operating systems the EPiServer folder can be found under the &amp;lt;Program Files (x86)&amp;gt; folder:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/link/2a70028e0504407face690ea4b0718c0.jpg&quot;&gt;&lt;img style=&quot;BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px&quot; title=&quot;clip_image002&quot; border=&quot;0&quot; alt=&quot;clip_image002&quot; src=&quot;/link/3afc30674209485bb6c493457952d212.jpg&quot; width=&quot;267&quot; height=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The next time your run EPiServer Deployment Center you should notice a new item called &quot;Install Oracle Configuration&quot; under the EPiServer CMS -&amp;gt; Version 6.0.530.0 node. Select the item and then click on &#39;Run&#39;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/link/c1dfe3d15652495aa4f359f3b13d3678.jpg&quot;&gt;&lt;img style=&quot;BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px&quot; title=&quot;clip_image001&quot; border=&quot;0&quot; alt=&quot;clip_image001&quot; src=&quot;/link/61e074e704e9483fbc260b22ee598c22.jpg&quot; width=&quot;395&quot; height=&quot;289&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now a list of CMS 6 sites installed on the computer should be shown. Select the site to be changed and click &#39;Install&#39;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/link/aaa7ad458b4e4b8581f94795f8858203.png&quot;&gt;&lt;img style=&quot;BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/d5df8c86509c4fad9c2629d4cbb5db0d.png&quot; width=&quot;244&quot; height=&quot;147&quot; /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The PowerShell script&amp;nbsp;will update the configuration&amp;nbsp;for you and even move the Oracle Workflow&amp;nbsp;assemblies to the&amp;nbsp;bin folder&amp;nbsp;of the selected site.&lt;/p&gt;
&lt;p&gt;The only things&amp;nbsp;left to do is install the CMS&amp;nbsp;Oracle database and then update the&amp;nbsp;sites&#39;&amp;nbsp;&lt;a href=&quot;http://world.episerver.com/Documentation/Items/Installation-Instructions/EPiServer-CMS/Version-6/EPiServer-CMS-60/Oracle-Database---Configuration/&quot;&gt;connectionStrings.config&lt;/a&gt; to point to it and use the correct user / password.&lt;/p&gt;
&lt;p&gt;Done!!!&lt;/p&gt;</id><updated>2010-04-09T18:15:00.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Upgrading an EPiServer CMS 5 R2 SP2 Site to CMS6 when running Oracle</title><link href="https://world.optimizely.com/blogs/Gonzalo-Gonzalez/Dates/2010/3/Upgrade-an-EPiServer-on-Oracle-Site-from-CMS5-R2SP2-to-CMS6/" /><id>&lt;p&gt;If you’re running your EPiServer CMS 5 R2 SP2 site on Oracle and want to&amp;nbsp;get all the advantages of CMS&amp;nbsp;6,&amp;nbsp;you can easily&amp;nbsp;upgrade&amp;nbsp;the site using the &lt;a href=&quot;/link/5bddea5dae16447e94a7b327f70884e9.zip&quot;&gt;these&lt;/a&gt; files:&lt;/p&gt;
&lt;p&gt;1.&amp;nbsp;The zip packet includes 3 files:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Upgrade Site.metadata&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Upgrade Site (Oracle).ps1&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Upgrade_Oracle_5sp2To6.sql&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - EPiServerUpgrade.CMS5.dll&lt;/p&gt;
&lt;p&gt;2.&amp;nbsp;Copy the &#39;Upgrade Site.metadata&#39; and&amp;nbsp;&#39;Upgrade Site (Oracle).ps1&#39; files&amp;nbsp;to the &amp;lt;Program Files&amp;gt;\ EPiServer\CMS\6.0.530.0\Upgrade\System Scripts&amp;nbsp;folder as shown below:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/link/d6f7b3f902cb4743806b4c31ed605a84.png&quot;&gt;&lt;img style=&quot;BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/cbdedd1cb7274a31b1b815753f4af38a.png&quot; width=&quot;210&quot; height=&quot;244&quot; /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;3. Copy the EPiServerUpgrade.CMS5.dll file to the &amp;lt;Program Files&amp;gt;\ EPiServer\CMS\6.0.530.0\Install\Tools folder. Note that this should replace the existing one.&lt;/p&gt;
&lt;p&gt;On a 64 bit operation system the EPiServer folder hive is located in the &amp;lt;Program Files (x86)&amp;gt; folder.&lt;/p&gt;
&lt;p&gt;4. Copy&amp;nbsp;the sql file to a convenient folder as it will be needed in step&amp;nbsp;6 below.&lt;/p&gt;
&lt;p&gt;5. The EPiServerUpgrade.CMS5.dll file needs to be registered in the machine&#39;s Global Assembly Cache. To do this run the following command from a command prompt (Administrator privileges will be required for this on Windows Vista, Windows 7 and Windows Server&amp;nbsp;2008 / 2008 R2). This also implies that the gacutil utility is also installed on the current computer:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- gacutil -i &quot;&amp;lt;Program Files&amp;gt;\ EPiServer\CMS\6.0.530.0\Install\Tools\EPiServerUpgrade.CMS5.dll&quot;&lt;/p&gt;
&lt;p&gt;Replace the &amp;lt;Program Files&amp;gt; part with your actual program files (or program files x86) folder path.&lt;/p&gt;
&lt;p&gt;6. First&amp;nbsp;you should upgrade the database with the latest schema. It is very important to ensure you&amp;nbsp;&lt;strong&gt;back-up&lt;/strong&gt; your CMS database before you perform the following steps.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;- Connect to your &amp;lt;OracleEpiserverUser&amp;gt; through sqlplus.exe.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Run the script Upgrade_Oracle_5sp2To6.sql from the location you copied it to.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Make sure you don’t get any error running this script.&lt;/p&gt;
&lt;p&gt;7. Start the EPiServer Deployment Center and you should find a new option called “&lt;strong&gt;Upgrade site with Oracle database&lt;/strong&gt;”:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/link/81840fdbbebe4d1cad64c2ba26845ab8.png&quot;&gt;&lt;img style=&quot;BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/d50e9244a9674d149831560e4cfe949a.png&quot; width=&quot;396&quot; height=&quot;283&quot; /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Select this item and click on the &#39;Run&#39; button. Now a list of&amp;nbsp;possible CMS&amp;nbsp;5&amp;nbsp;R2 SP2 sites installed on the machine should be shown:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/link/c6998c80d0ed4e47ba1bdf32454020b5.png&quot;&gt;&lt;img style=&quot;BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/45004a149a944780a7a2848ae4f1fcff.png&quot; width=&quot;234&quot; height=&quot;244&quot; /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Select the site to be upgraded and click on &#39;Next&#39;. &lt;/p&gt;
&lt;p&gt;8. Once the&amp;nbsp;deployment script has finished&amp;nbsp;you should be able to browse your upgraded site. You’ll find&amp;nbsp;a&amp;nbsp;few look and feel&amp;nbsp;differences in&amp;nbsp;Edit and Admin mode&amp;nbsp;plus the new shiny OnlineCenter as shown below:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/link/4943386d833d44a78368913b1aaf55b0.png&quot;&gt;&lt;img style=&quot;BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;/link/e51f2376195b49f6a2969ae93e2a9c15.png&quot; width=&quot;376&quot; height=&quot;201&quot; /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note: &lt;/strong&gt;If you need to upgrade from an older version of CMS than&amp;nbsp;&lt;strong&gt;CMS 5 R2 SP2&lt;/strong&gt;&amp;nbsp; please contact&amp;nbsp;us via&amp;nbsp;support: &lt;a href=&quot;mailto:support@ep.se&quot;&gt;support@ep.se&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Enjoy the new version!!!!&lt;/p&gt;</id><updated>2010-03-25T10:50:00.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>EPiServer CMS6 on Oracle moving on to ODP.NET</title><link href="https://world.optimizely.com/blogs/Gonzalo-Gonzalez/Dates/2010/3/EPiServer-CMS6-on-Oracle-moving-on-to-ODPNET/" /><id>&lt;blockquote&gt;
&lt;div id=&quot;codeSnippetWrapper&quot;&gt;On 15th June 2009, Microsoft&amp;nbsp;annouced their&amp;nbsp;decision&amp;nbsp;to &lt;a href=&quot;http://blogs.msdn.com/adonet/archive/2009/06/15/system-data-oracleclient-update.aspx&quot;&gt;deprecate their&amp;nbsp;System.Data.OracleClient&lt;/a&gt;&amp;nbsp;assembly. As an EPiServer developer working with&amp;nbsp;Oracle,&amp;nbsp;you’ll probably know that EPiServer CMS 5&amp;nbsp;uses this assembly. We decided to change direction in EPiServer CMS 6 and use the ODP.NET ADO.NET provider from the Oracle Corporation.&lt;/div&gt;
&lt;p&gt;In recent years, ODP.NET has added lots of &lt;a href=&quot;http://www.oracle.com/technology/tech/windows/odpnet/newfeatures.html&quot;&gt;new features&lt;/a&gt;,&amp;nbsp;&amp;nbsp;such as performance tuning, user-defined types, advanced queuing, RAC connection pooling, and supporting multiple ODP.NET client versions simultaneously on the same machine. &lt;/p&gt;
&lt;p&gt;Time to move on! &lt;/p&gt;
&lt;p&gt;Below you can find some “ugly” peaces of code done with the previous data provider, due to differences&amp;nbsp;between&amp;nbsp;.NET CLR Types&amp;nbsp;and Oracle data types:&lt;/p&gt;
&lt;p&gt;E.g. Creation of a Clob parameter:&lt;/p&gt;
&lt;div&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 214.05%; PADDING-RIGHT: 0px; FONT-FAMILY: &#39;Courier New&#39;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; HEIGHT: 432px; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px&quot; id=&quot;codeSnippet&quot;&gt;&lt;span style=&quot;COLOR: #0000ff&quot;&gt;try&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;    &lt;span style=&quot;COLOR: #008000&quot;&gt;// WARNING! This is the ugliest piece of code I have ever written... &lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;COLOR: #008000&quot;&gt;//  not for the faint-of-heart.&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;COLOR: #008000&quot;&gt;// Believe it or not, but this is the way to handle large data&lt;/span&gt;&lt;br /&gt;    &lt;span style=&quot;COLOR: #008000&quot;&gt;//   fields in Oracle :-(&lt;/span&gt;&lt;br /&gt;    cmd.CommandText = &lt;span style=&quot;COLOR: #006080&quot;&gt;&quot;declare xx clob; &lt;br /&gt;                       begin dbms_lob.createtemporary(xx, false, 0);&lt;br /&gt;                      :tempblob := xx; end;&quot;&lt;/span&gt;;&lt;br /&gt;    cmd.Parameters.Add(&lt;span style=&quot;COLOR: #0000ff&quot;&gt;new&lt;/span&gt; OracleParameter(&lt;span style=&quot;COLOR: #006080&quot;&gt;&quot;tempblob&quot;&lt;/span&gt;, OracleType.Clob)).Direction = &lt;br /&gt;                                                    ParameterDirection.Output;&lt;br /&gt;    cmd.ExecuteNonQuery();&lt;br /&gt;    OracleLob tempLob = (OracleLob)cmd.Parameters[0].Value;&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    System.Text.UnicodeEncoding Unicode = &lt;span style=&quot;COLOR: #0000ff&quot;&gt;new&lt;/span&gt; System.Text.UnicodeEncoding();&lt;br /&gt;    &lt;span style=&quot;COLOR: #0000ff&quot;&gt;byte&lt;/span&gt;[] tempbuff = Unicode.GetBytes(paramValue);&lt;br /&gt;    tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);&lt;br /&gt;    tempLob.Write(tempbuff, 0, tempbuff.Length);&lt;br /&gt;    tempLob.EndBatch();&lt;br /&gt;    param = &lt;br /&gt;    &lt;span style=&quot;COLOR: #0000ff&quot;&gt;new&lt;/span&gt; OracleParameter(ProviderSpecificParameterName(parameterName), OracleType.Clob);&lt;br /&gt;    ((OracleParameter)param).Value = tempLob;&lt;br /&gt;    &lt;span style=&quot;COLOR: #0000ff&quot;&gt;if&lt;/span&gt; (localTransaction)&lt;br /&gt;    {&lt;br /&gt;        cmd.Transaction.Commit();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;E.g Creation of a Blob Parameter:&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 184.47%; PADDING-RIGHT: 0px; FONT-FAMILY: &#39;Courier New&#39;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; HEIGHT: 400px; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px&quot; id=&quot;codeSnippet&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;COLOR: #0000ff&quot;&gt;if&lt;/span&gt; (serializedData.Length &amp;lt; 32000)&lt;br /&gt;{&lt;br /&gt;    CreateParameter(cmd, &lt;span style=&quot;COLOR: #006080&quot;&gt;&quot;p_ItemData&quot;&lt;/span&gt;, OracleType.Blob, serializedData);&lt;br /&gt;}&lt;br /&gt;&lt;span style=&quot;COLOR: #0000ff&quot;&gt;else&lt;/span&gt;&lt;br /&gt;{&lt;br /&gt;    &lt;span style=&quot;COLOR: #008000&quot;&gt;// WARNING! This is the ugliest piece of code I have ever copied.&lt;/span&gt;&lt;br /&gt;    OracleCommand tmpCmd = CreateCommand(&lt;span style=&quot;COLOR: #006080&quot;&gt;&quot;declare xx blob; begin &lt;br /&gt;    dbms_lob.createtemporary(xx, false, 0); :tempblob := xx; end;&quot;&lt;/span&gt;);&lt;br /&gt;    tmpCmd.CommandType = CommandType.Text;&lt;br /&gt;    tmpCmd.Parameters.Add(&lt;span style=&quot;COLOR: #0000ff&quot;&gt;new&lt;/span&gt; OracleParameter(&lt;br /&gt;       &lt;span style=&quot;COLOR: #006080&quot;&gt;&quot;tempblob&quot;&lt;/span&gt;, OracleType.Blob)).Direction = ParameterDirection.Output;&lt;br /&gt;    tmpCmd.ExecuteNonQuery();&lt;br /&gt;&lt;br /&gt;    OracleLob tempLob = (OracleLob)tmpCmd.Parameters[0].Value;&lt;br /&gt;    tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);&lt;br /&gt;    tempLob.Write(serializedData, 0, serializedData.Length);&lt;br /&gt;    tempLob.EndBatch();&lt;br /&gt;&lt;br /&gt;    tmpCmd.Parameters.Clear();&lt;br /&gt;    tmpCmd.Dispose();&lt;br /&gt;&lt;br /&gt;    OracleParameter param = &lt;br /&gt;    &lt;span style=&quot;COLOR: #0000ff&quot;&gt;new&lt;/span&gt; OracleParameter(&lt;span style=&quot;COLOR: #006080&quot;&gt;&quot;p_ItemData&quot;&lt;/span&gt;, OracleType.Blob);&lt;br /&gt;    ((OracleParameter)param).Value = tempLob;&lt;br /&gt;    cmd.Parameters.Add(param);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;What&amp;nbsp;does it look like now?&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;for Blob:&lt;/div&gt;
&lt;div&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &#39;Courier New&#39;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px&quot; id=&quot;codeSnippet&quot;&gt;CreateParameter(cmd, &lt;span style=&quot;COLOR: #006080&quot;&gt;&quot;p_ItemData&quot;&lt;/span&gt;, OracleDbType.Blob, serializedData);&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Internally CreateParameter create&amp;nbsp; an Oracle Parameter associated to the command(cmd):&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div id=&quot;codeSnippetWrapper&quot;&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &#39;Courier New&#39;, Courier, Monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px&quot; id=&quot;codeSnippet&quot;&gt;&lt;span style=&quot;COLOR: #0000ff&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;COLOR: #0000ff&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;COLOR: #0000ff&quot;&gt;void&lt;/span&gt; CreateParameter(OracleCommand command,&lt;br /&gt;                                    String parameterName,&lt;br /&gt;                                    OracleDbType parameterType,&lt;br /&gt;                                    Object parameterValue,&lt;br /&gt;                                    ParameterDirection parameterDirection)&lt;br /&gt;        {&lt;br /&gt;            OracleParameter param = command.CreateParameter();&lt;br /&gt;            param.ParameterName = parameterName;&lt;br /&gt;            param.OracleDbType = parameterType;&lt;br /&gt;            param.Value = parameterValue;&lt;br /&gt;            param.Direction = parameterDirection;&lt;br /&gt;&lt;br /&gt;            command.Parameters.Add(param);&lt;br /&gt;        }&lt;/pre&gt;&lt;br /&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;for Clob:&lt;/div&gt;
&lt;div id=&quot;codeSnippetWrapper&quot;&gt;&lt;pre style=&quot;BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &#39;Courier New&#39;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px&quot; id=&quot;codeSnippet&quot;&gt;param = &lt;span style=&quot;COLOR: #0000ff&quot;&gt;new&lt;/span&gt; OracleParameter(ProviderSpecificParameterName(parameterName),&lt;br /&gt;OracleDbType.Clob);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div id=&quot;codeSnippetWrapper&quot;&gt;Much better!!!&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;There are some misconceptions to clarify:&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Misconception&lt;/strong&gt;: &quot;I have to download a particular version of ODP.NET depending on the version of my database.&quot; &lt;br /&gt;&lt;strong&gt;Fact&lt;/strong&gt;: Any version of ODP.NET works with any version of Oracle Database.&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Misconception&lt;/strong&gt;: &quot;EPiServer is compiled against &lt;a href=&quot;http://www.oracle.com/technology/software/tech/windows/odpnet/index.html&quot;&gt;ODAC 11.1.0.6.21&lt;/a&gt;( Oracle.DataAccess 2.111.6.0.)&amp;nbsp; I&#39;m in big trouble!&quot; &lt;br /&gt;&lt;strong&gt;Fact: &lt;/strong&gt;Multiple versions of ODP.NET(Oracle Clients) can live on the same box and the application can target whatever specific one you need. You can of course also use assembly redirects.&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Misconception&lt;/strong&gt;: &quot;This means I have to pay for an Oracle provider now!&quot; &lt;br /&gt;&lt;strong&gt;Fact&lt;/strong&gt;: ODP.NET is free!&lt;/div&gt;
&lt;div&gt;You’ll find more information in the &lt;a href=&quot;http://www.oracle.com/technology/tech/dotnet/msoc/index.html&quot;&gt;ODP.NET for Microsoft&amp;nbsp; OracleClient Developers webpage&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;Happy coding:)&lt;/div&gt;&lt;/blockquote&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</id><updated>2010-03-15T11:49:00.0000000Z</updated><summary type="html">Blog post</summary></entry></feed>