﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Business Objects and Data Access (How do I?)  » Bulk Saving?</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Tue, 05 May 2026 22:16:51 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost26932.aspx</link><description>Hello :),&lt;/P&gt;&lt;P&gt;Which feature are you referring to? The ConcurrencyException options Trent mentioned are already available, and have been for quite a while. The SQLBulkCopy is a function of SQL server, and is very handy.</description><pubDate>Tue, 20 Apr 2010 09:14:26 GMT</pubDate><dc:creator>Dustin Taylor</dc:creator></item><item><title>Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24437.aspx</link><description>Hi guys,&lt;br&gt;
&lt;br&gt;
I have an import process of CSV files with more than 300 thousand records, I have to read each one and compare against my records and then insert them in another table for future reference with other imports.&lt;br&gt;
&lt;br&gt;
My approach is to loop through the imported records collection and then add them to the BO using BO.NewRow(), so far so good, the problem comes when I need to save them using BO.Save(), it takes a long time to actually insert those 300+K records.&lt;br&gt;
&lt;br&gt;
I am using the DDT for all my data modeling, and this table is setup to use Store Procedures for all Insert/Update/Delete and also is using an AutoIncrement PK.&lt;br&gt;
&lt;br&gt;
In the BO I have turn off the Update/Delete ConcurrencyType and there is no value in the RowVersionOrTimestampColumn.&lt;br&gt;
&lt;br&gt;
Is there anything else I may need to do to save those records faster?&lt;br&gt;
&lt;br&gt;</description><pubDate>Tue, 20 Apr 2010 09:14:26 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost26891.aspx</link><description>Hi&lt;br&gt;
Any plan to add this feature to BO by SF team?</description><pubDate>Sat, 17 Apr 2010 07:40:26 GMT</pubDate><dc:creator>ChanKK</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24672.aspx</link><description>That is the only place that the dialog is fired from.  So if you want to handle this on a BO by BO basis, then you will have to handle the ConcurrencyException event.</description><pubDate>Sun, 20 Sep 2009 10:55:37 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24671.aspx</link><description>Thanks for the info.&lt;br&gt;
&lt;br&gt;
I believe the AutoHandleCollisions property will handle All or Nothing action, is there a way to control which BO to exclude from the AutoHandleCollisions  action?</description><pubDate>Sun, 20 Sep 2009 10:37:25 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24666.aspx</link><description>Yes.  There are a number of ways to make sure that there is not any concurrency exception popping up, for example, you can handle the ConcurrencyException event and manage this yourself (which you would just ignore any collisions).&lt;br&gt;
&lt;br&gt;
Most likely you are doing this on an SF dialog.  If so, you can set the AutoHandleCollisions property to false and it should prevent that dialog from appearing.</description><pubDate>Sun, 20 Sep 2009 10:25:38 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24661.aspx</link><description>Trent,&lt;br&gt;
&lt;br&gt;
Talking about concurrency, in this same process, when I need to made some modifications to the imported data, I am using an SF BO with UpdateConcurrencyType and DeleteConcurrencyType set to OFF, but when I try to save any modifications I will get the SF Concurrency Manager form but without showing any value to be selected.&lt;br&gt;
&lt;br&gt;
In this case I don't want or need any type of concurrency checking, what or where else do I need to check to make sure this SF Concurrency Manager form does not show up and my records are simply just saved?</description><pubDate>Fri, 18 Sep 2009 11:57:36 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24470.aspx</link><description>BTW, is there a way to simply bulk update the records instead of inserting them?  Another process is to loop through the inserted records a 2nd or 3th time to re-process them, and after that, the modified ones should be save back to the server.</description><pubDate>Wed, 02 Sep 2009 09:03:27 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24468.aspx</link><description>Bulk copies....can't live without'em! :D</description><pubDate>Wed, 02 Sep 2009 08:36:53 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24463.aspx</link><description>you can get that better with some tweaking :)&lt;/P&gt;&lt;P&gt;Congrats, I remember well going from 15 minutes to 15 seconds and how good it felt.</description><pubDate>Tue, 01 Sep 2009 22:38:32 GMT</pubDate><dc:creator>Keith Chisarik</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24462.aspx</link><description>[quote][b]Keith Chisarik (09/01/2009)[/b][hr]My bet is ... 6 seconds.[/quote]&lt;br&gt;
&lt;br&gt;
It took 33 seconds and I am very, very, very happy.  :P&lt;br&gt;
&lt;br&gt;
Thanks again.</description><pubDate>Tue, 01 Sep 2009 22:24:43 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24454.aspx</link><description>My bet is ... 6 seconds.</description><pubDate>Tue, 01 Sep 2009 17:39:40 GMT</pubDate><dc:creator>Keith Chisarik</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24452.aspx</link><description>[quote][b]Keith Chisarik (09/01/2009)[/b][hr]ahh yes I was pulling from a fields mapping table because my BO structure does not match my SQL tables structure.&lt;br&gt;
&lt;br&gt;
Looks like you got it. FYI, if they ,match you dont need to do the column mapping step and it will 'just work' :)[/quote]&lt;br&gt;
&lt;br&gt;
Yes they match, but it did not work without the mapping, so I figured to be in the safe side to just do the Field Name loop and it will not cost anything, I am still gaining a lot of time now, I will do the test in a couple of minutes with 365K records which took almost 10 minutes to save before, will post the results later.</description><pubDate>Tue, 01 Sep 2009 17:14:06 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24450.aspx</link><description>ahh yes I was pulling from a fields mapping table because my BO structure does not match my SQL tables structure.&lt;/P&gt;&lt;P&gt;Looks like you got it. FYI, if they ,match you dont need to do the column mapping step and it will 'just work' :)</description><pubDate>Tue, 01 Sep 2009 17:07:29 GMT</pubDate><dc:creator>Keith Chisarik</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24445.aspx</link><description>Never mind, I found it:&lt;br&gt;
[quote]For Each fieldName As String In Me.BizTransactionItemsImport1.AllFieldsList()&lt;br&gt;
                        bulkCopy.ColumnMappings.Add(fieldName, fieldName)&lt;br&gt;
                    Next&lt;br&gt;
[/quote]&lt;br&gt;
&lt;br&gt;
Thanks Keith, it works the first run, I will now do a test with couple of thousand of records.</description><pubDate>Tue, 01 Sep 2009 13:42:47 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24443.aspx</link><description>Hi Keith,&lt;br&gt;
&lt;br&gt;
I am very close to make this work.  I only having some problem with the bulkCopy.ColumnMappings.Add()&lt;br&gt;
&lt;br&gt;
[quote]For Each row_conversionrule As BUSINESS.bo_mapfields In Me.Bo_mapfields.GetEnumerable()&lt;br&gt;
&lt;br&gt;
     bulkCopy.ColumnMappings.Add(row_conversionrule.mapf_sqlfield, row_conversionrule.mapf_sqlfield)&lt;br&gt;
&lt;br&gt;
Next[/quote]&lt;br&gt;
&lt;br&gt;
This code is not very clear to me, I guess I need to get all the field names from the BO to be mapped in the bulkCopy.  Would you please post the For...Each code for a real BO sample?</description><pubDate>Tue, 01 Sep 2009 13:18:52 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24442.aspx</link><description>This saved my butt way back when I was using DB2 (uhggg) , I use it a decent amount with SQL and it has treated me good :)&lt;/P&gt;&lt;P&gt;Enjoy!</description><pubDate>Tue, 01 Sep 2009 12:36:08 GMT</pubDate><dc:creator>Keith Chisarik</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24441.aspx</link><description>Hi Keith,&lt;br&gt;
&lt;br&gt;
Thanks a lot for the code sharing.  I was just reading an article about SqlBulkCopy [url=http://dotnetslackers.com/articles/ado_net/SqlBulkCopy_in_ADO_NET_2_0.aspx]here[/url] and then saw your post.&lt;br&gt;
&lt;br&gt;
Yes, my BO match the SQL data structure.  I will try to implement this one.</description><pubDate>Tue, 01 Sep 2009 12:26:59 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24440.aspx</link><description>if your SQL table matches the structure of your BO, you can skip the mapping line, ohterwise us it to map your datatable fields to your SQL table fields before the copy.&lt;/P&gt;&lt;P&gt;Optional: bulkCopy.ColumnMappings()</description><pubDate>Tue, 01 Sep 2009 12:22:55 GMT</pubDate><dc:creator>Keith Chisarik</dc:creator></item><item><title>RE: Bulk Saving?</title><link>http://forum.strataframe.net/FindPost24439.aspx</link><description>SQLBULKCOPY&lt;/P&gt;&lt;FONT size=2&gt;&lt;P&gt;Somthing like this: (pass in the currentdatatable fo your BO)&lt;/P&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Private&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; bulkLoadFromMultipleTables(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;ByVal&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; dtToInsert &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; DataTable&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; x &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; DateTime = DateTime.Now&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; destinationConnection &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; SqlConnection = _&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; SqlConnection(MicroFour.StrataFrame.Data.DataLayer.DataSources(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"sql"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;).ConnectionString)&lt;/P&gt;&lt;P&gt;destinationConnection.Open()&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; bulkCopy &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; SqlBulkCopy = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; SqlBulkCopy(destinationConnection)&lt;/P&gt;&lt;P&gt;bulkCopy.DestinationTableName = _sqlTable.Trim&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'bulkCopy.NotifyAfter = 10000&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'bulkCopy.SqlRowsCopied += New SqlRowsCopiedEventHandler(s_SqlRowsCopied)&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;bulkCopy.BatchSize = 1000&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'should already match due to the join process and field aliasing done&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;For&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Each&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; row_conversionrule &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; BUSINESS.bo_mapfields &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;In&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Me&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.Bo_mapfields.GetEnumerable()&lt;/P&gt;&lt;P&gt;bulkCopy.ColumnMappings.Add(row_conversionrule.mapf_sqlfield, row_conversionrule.mapf_sqlfield)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;bulkCopy.WriteToServer(dtToInsert)&lt;/P&gt;&lt;P&gt;bulkCopy.Close()&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; y &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; DateTime = DateTime.Now&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; diff &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; TimeSpan = y - x&lt;/P&gt;&lt;P&gt;MsgBox(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"seconds: "&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &amp;amp; diff.Seconds &amp;amp; &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;":"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &amp;amp; diff.Milliseconds)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Catch&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; ex &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; Exception&lt;/P&gt;&lt;P&gt;MsgBox(ex.ToString)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Finally&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;' Close the SqlDataReader. The SqlBulkCopy&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;' object is automatically closed at the end&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;' of the Using block.&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;dtToInsert.Dispose()&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Using&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Using&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Sub&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;P&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;' of the Using block.&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description><pubDate>Tue, 01 Sep 2009 12:21:09 GMT</pubDate><dc:creator>Keith Chisarik</dc:creator></item></channel></rss>