<?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>Troy Scott's Web Blog &#187; SQL Server</title>
	<atom:link href="http://troyscott.ca/category/sql-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://troyscott.ca</link>
	<description></description>
	<lastBuildDate>Mon, 17 Oct 2011 22:30:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>BDC Models in Visual Studio 2010 for SharePoint Foundation Server 2010</title>
		<link>http://troyscott.ca/2010/08/07/bdc-models-in-visual-studio-2010-for-sharepoint-foundation-server-2010/</link>
		<comments>http://troyscott.ca/2010/08/07/bdc-models-in-visual-studio-2010-for-sharepoint-foundation-server-2010/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 00:34:36 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[csharp]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://troyscott.ca/2010/08/07/bdc-models-in-visual-studio-2010-for-sharepoint-foundation-server-2010/</guid>
		<description><![CDATA[When I first started building External Content Types in (ECT) SharePoint Foundation Server I used SharePoint Designer.&#160;&#160; SharePoint Designer is a good place to start if you are learning how build ECT’s.&#160; It does not require any .NET code and you can build a fairly decent application in little time especially if you have a [...]]]></description>
			<content:encoded><![CDATA[<p>When I first started building External Content Types in (ECT) SharePoint Foundation Server I used SharePoint Designer.&#160;&#160; SharePoint Designer is a good place to start if you are learning how build ECT’s.&#160; It does not require any .NET code and you can build a fairly decent application in little time especially if you have a solid relational database background.&#160; But I wanted to try build an External Content Type using Visual Studio 2010.&#160;&#160; In this case I am going to build a simple BDS Model based on the SalesLT.Customer table in the AdventureWorksLT2008R2 database.</p>
<p>First, lets start by creating an empty SharePoint 2010 Solution (C#)&#160; in Visual Studio 2010.&#160; Select File &gt; New &gt; Project from the file menu.&#160; In the Installed Template section under Visual C# &gt; SharePoint &gt; 2010 select the Empty SharePoint Project and name the project SPDev1.&#160; This will create an empty SharePoint project which we can add multiple projects to.</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/08/image7.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb7.png" width="244" height="169" /></a> </p>
<p>When you select Ok the SharePoint Customization will be displayed.&#160; Enter the the site you want to use for debugging the project and make sure you select “Deploy as a farm” solution:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/08/image8.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb8.png" width="244" height="177" /></a> </p>
<p>Right-click on the SPDev1 project and select Add New Item:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/08/image9.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb9.png" width="202" height="244" /></a> </p>
<p>Now Select Business Data Connectivity Model from the Add New Item list and name it AWLTCustomer.&#160; Once you enter the name of the model click Add:</p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/08/image10.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb10.png" width="244" height="171" /></a></td>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/08/image11.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb11.png" width="244" height="147" /></a></td>
</tr>
<tr>
<td valign="top" width="200"><strong>Add BDC Item</strong></td>
<td valign="top" width="200"><strong>BDC Solution</strong></td>
</tr>
</tbody>
</table>
<p>When the BDC Model is added it is fully functional.&#160; If you Build the project it will compile without any errors.&#160; </p>
<p>You will notice that I named the Blog Post <em>“BDC Models in Visual Studio 2010 for<strong> SharePoint Foundation Server 2010</strong>”&#160; </em>and not <em>“BDC Models in Visual Studio 2010 for<strong> SharePoint Server 2010</strong>”&#160; .&#160; </em>If you created this project using SharePoint Server 2010 you can actually deploy this project to the debug site and it will create an BDC Model with an entity called Entity1.&#160; But if you are using SharePoint Foundation Server 2010 you will receive the following error when the project is deployed (Right-click the project and click Deploy):</p>
<p><em><font color="#ff0000">Error&#160;&#160;&#160; 1&#160;&#160;&#160; Error occurred in deployment step &#8216;Add Solution&#8217;: Failed to load receiver assembly &quot;Microsoft.Office.SharePoint.ClientExtensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot; for feature &quot;SPDev1_Feature1&quot; (ID: 1a75169a-e716-4d4b-a43c-3c0cf032fc40).: System.IO.FileNotFoundException: …</font></em></p>
<p>In order to deploy a BDC Model to Foundation Server a Feature Event Receiver is required to publish the mode to the site:</p>
<p><a href="http://code.msdn.microsoft.com/BDCSPFoundation" target="_blank">Publish BDC Model project to SharePoint Foundation 2010 with Visual Studio 2010</a></p>
<p>The following post on one of the Microsoft Blog sites provides details on how create the Feature Event Receiver.&#160; </p>
<p><a href="http://blogs.msdn.com/b/vssharepointtoolsblog/archive/2010/04/02/deploy-a-bdc-model-project-to-sharepoint-foundation-2010-using-visual-studio-2010.aspx"></a><a href="http://blogs.msdn.com/b/vssharepointtoolsblog/archive/2010/04/02/deploy-a-bdc-model-project-to-sharepoint-foundation-2010-using-visual-studio-2010.aspx" target="_blank">Deploy a BDC Model project to SharePoint Foundation 2010 using Visual Studio 2010</a></a></p>
<p>Basically you need to download the following file from the first link: </p>
<p><a href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=BDCSPFoundation&amp;DownloadId=9352" target="_blank">Feature Event Receiver (C#)</a>&#160;</p>
<p>In the current project, add an Event Receiver to Feature1 by right-clicking Feature1 and select Add Event Receiver:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/08/image12.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb12.png" width="244" height="225" /></a>&#160;</p>
<p>First copy the existing content of Feature1.EventReceiver.cs to a file using notepad.&#160; Next, replace the contents of Feature1.EventReceiver.cs with the contents of the file downloaded from the Microsoft site (FeatureEventReceiver.cs) (Ctrl-C, Ctrl-V).&#160;&#160; The details from this point on can be found in the Microsoft Blog post mentioned above (<a href="http://blogs.msdn.com/b/vssharepointtoolsblog/archive/2010/04/02/deploy-a-bdc-model-project-to-sharepoint-foundation-2010-using-visual-studio-2010.aspx"></a><a href="http://blogs.msdn.com/b/vssharepointtoolsblog/archive/2010/04/02/deploy-a-bdc-model-project-to-sharepoint-foundation-2010-using-visual-studio-2010.aspx" target="_blank">Deploy a BDC Model project to SharePoint Foundation 2010 using Visual Studio 2010</a></a>), but I will provide some additional screenshots along with the steps.</p>
<p>We need to Add a reference to the MicrosoftBusinessData.dll. In order to do this you have to copy the dll from the GAC.&#160;&#160;&#160; Click Start &gt; Run and enter the following:</p>
<ul>
<li>C:\Windows\assembly\gac_msil </li>
</ul>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/08/image13.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb13.png" width="244" height="128" /></a></td>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/08/image14.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb14.png" width="244" height="136" /></a></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>Find the Microsoft.BusinessData folder and copy the Microsoft.BusinessData.dll to the following folder:</p>
<ul>
<li>C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI </li>
</ul>
<p>Next add the following references to the project:</p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/08/image15.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb15.png" width="244" height="202" /></a> </td>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/08/image16.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb16.png" width="244" height="207" /></a> </td>
</tr>
<tr>
<td valign="top" width="200"><strong><font size="1">System.Web</font></strong></td>
<td valign="top" width="200"><strong>Microsoft.BusinessData.dll</strong></td>
</tr>
</tbody>
</table>
<p>Set the BDC (SharePoint item property) which in our case is located in the AWLTCustomer model and set the following properties located under Feature Receiver Category:</p>
<ul>
<li><strong>Assembly</strong> = Assembly = $SharePoint.Project.AssemblyFullName$ </li>
<li><b>Class Name</b> = SPDev1.Features.Feature1.ImportModelReceiver </li>
</ul>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/08/image17.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb17.png" width="244" height="240" /></a> </td>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/08/image18.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb18.png" width="244" height="221" /></a> </td>
</tr>
<tr>
<td valign="top" width="200"><strong>Properties Before</strong></td>
<td valign="top" width="200"><strong>Properties After</strong></td>
</tr>
</tbody>
</table>
<p>Set the Feature property by double clicking on Feature1.Feature and update the following property:</p>
<ul>
<li><strong>Receiver Class</strong> = SPDev1.Features.Feature1.ImportModelReceiver </li>
</ul>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/08/image19.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb19.png" width="244" height="219" /></a> </td>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/08/image20.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb20.png" width="244" height="221" /></a> </td>
</tr>
<tr>
<td valign="top" width="200"><strong>Properties Before</strong></td>
<td valign="top" width="200"><strong>Properties After</strong></td>
</tr>
</tbody>
</table>
<p>One last thing, we need to change the Namespace of the code that was copied into Feature1.EventReceiver.cs from BDCModelReceiver to SPDev1:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/08/image21.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb21.png" width="244" height="79" /></a>&#160;</p>
<p>I have been writing this post while following&#160; Microsoft Blog.&#160; So, here is the moment of truth.&#160; After the last step we should be able to deploy the BDC model.&#160; Right-click on the project and click deploy or click F5 if you want to debug the solution.&#160; To view the content type you can open SharePoint Designer and navigate to the External Content Type sit object:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/08/image22.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/08/image_thumb22.png" width="244" height="174" /></a> </p>
<p> Before you can create an External list based on the new External Content Type the permissions must be set.&#160; Check out this post for setting the permissions using the SharePoint Central Administration site:</p>
<p><a href="http://troyscott.ca/2010/07/09/setting-permissions-for-an-external-content-type/" target="_blank">Setting Permissions for an External Content Type</a></p>
<p>Once the permissions have been set an External List can be created.&#160; In this example the External List is very basic and in fact the model has not been connected to the External table in the Adventure Works.&#160;&#160; But that is a topic for another post.</p>
<p>For more information on BCS check the Microsoft BCS Team Blog:</p>
<p><a href="http://blogs.msdn.com/b/bcs/">http://blogs.msdn.com/b/bcs/</a></p>
<p>&#160;</p>
<p>Troy</p>
]]></content:encoded>
			<wfw:commentRss>http://troyscott.ca/2010/08/07/bdc-models-in-visual-studio-2010-for-sharepoint-foundation-server-2010/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Modifying the View of an External SharePoint List</title>
		<link>http://troyscott.ca/2010/07/19/modifying-the-view-of-an-external-sharepoint-list/</link>
		<comments>http://troyscott.ca/2010/07/19/modifying-the-view-of-an-external-sharepoint-list/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 07:23:11 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Performance Management]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://troyscott.ca/2010/07/19/modifying-the-view-of-an-external-sharepoint-list/</guid>
		<description><![CDATA[If you have been following along in the last few posts,&#160; I have created an External Content Type called BcsSalesForecast with the following operations: Read List Read Item Update Then an External List was created called Sales Forecast 2010.&#160; Up to now the main focus of the discussion has been around creating the External Content [...]]]></description>
			<content:encoded><![CDATA[<p>If you have been following along in the last few <a href="http://troyscott.ca/2010/07/02/creating-an-external-content-type-in-sharepoint-2010/" target="_blank">posts</a>,&#160; I have created an External Content Type called BcsSalesForecast with the following operations:</p>
<ul>
<li>Read List </li>
<li>Read Item </li>
<li>Update </li>
</ul>
<p>Then an External List was created called Sales Forecast 2010.&#160; Up to now the main focus of the discussion has been around creating the External Content Type and the store procedures which are used as its data source.&#160; However, if you currently view the list below its presentation as a lot to be desired.&#160; First off, its sorted by ID and there are over 700 records with 30 per page which means that it could take awhile to find the record you are looking for.&#160;&#160; </p>
<p>In order to make the list more “useable” it is possible to modify the view.&#160;&#160; Before the view is modified a minor update is required to the data.&#160; The Sales Forecast 2010 list is a weekly forecast application for 2010 and provides the previous years as a starting point (the data is actually from Adventure Works for 2008).&#160;&#160;&#160; Ideally it would be nice to sort the data by week but I did not include a sort key as part of the original design.&#160;&#160; But this can fixed by running the following UPDATE statement against the dbo.WeeklySalesForecast table:</p>
<p><code>update dbo.WeeklySalesForecast set WeekNumber = case when CONVERT( INT,SUBSTRING(WeekNumber,5,3)) &lt; 10 then 'Week 0' + SUBSTRING(WeekNumber,6,1) else WeekNumber end </code></p>
<p>This will&#160; add a leading 0 to all weeks that are less then week 10 which will ensure the sorting by Week will work.&#160; Now you can navigate to the Sales Forecast 2010 list and click on the List tab:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image32.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb14.png" width="244" height="137" /></a> </p>
<p>Next&#160; click Modify View but do not click on Modify in SharePoint Designer (Advanced).&#160; For this scenario SharePoint 2010 Designer is not required.&#160; The changes to the list can be performed in the browser.&#160; Change the First Sort Column from ID to WeekNumber:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image33.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb15.png" width="244" height="116" /></a> </p>
<p>Next set the First Group By Column to SalesRegion and the Second Group By Column to ProductCategory:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image34.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb16.png" width="244" height="109" /></a> </p>
<p>Change the number of items to display per page from 30 to 300 :</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image35.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb17.png" width="244" height="112" /></a> </p>
<p>Hide the SalesRegion and ProductCategory since these are redundant because they are being used as Groups. Secondly the ID field can be hidden because it is just required as the unique identifier for the row:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image36.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb18.png" width="244" height="86" /></a> </p>
<p>(Note: <em>the position of the columns may be different than what you see when you “Modify” the view</em>)</p>
<p>Click OK to save the changes to the view and now look at the List:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image37.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb19.png" width="244" height="115" /></a> </p>
<p>As you can see, a few simple modifications to the list can make a significant difference in terms of the lists usability. </p>
<p>Troy</p>
]]></content:encoded>
			<wfw:commentRss>http://troyscott.ca/2010/07/19/modifying-the-view-of-an-external-sharepoint-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating an Update Operation for an External Content Type</title>
		<link>http://troyscott.ca/2010/07/17/creating-an-update-operation-for-an-external-content-type/</link>
		<comments>http://troyscott.ca/2010/07/17/creating-an-update-operation-for-an-external-content-type/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 20:19:42 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Performance Management]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://troyscott.ca/2010/07/17/creating-an-update-operation-for-an-external-content-type/</guid>
		<description><![CDATA[* Please note that the following post is based on SharePoint 2010 Foundation Server and not SharePoint 2010 Server.&#160; In a previous post , I created an External Content Type with 2 operations and then created an External List based on the External Content Type.&#160; In short this means that you are now able to [...]]]></description>
			<content:encoded><![CDATA[<p><!--  TVMS77U6WB9R -->
<p><em>* Please note that the following post is based on SharePoint 2010 Foundation Server and not SharePoint 2010 Server.&#160; </em></p>
<p>In a previous <a href="http://troyscott.ca/2010/07/02/creating-an-external-content-type-in-sharepoint-2010/" target="_blank">post</a> , I created an External Content Type with 2 operations and then created an External List based on the External Content Type.&#160; In short this means that you are now able to create a SharePoint List based on some external data (e.g. database table or store procedure in this example).&#160;&#160; But currently the external data is read only because we only created the following operations for the External Content Type:</p>
<ul>
<li>Read List </li>
<li>Read Item </li>
</ul>
<p>Given that the example was based on Sales Forecast data at the very least we need to give the user the ability to update the data.&#160; In order to do this a new operation needs to be added and a new stored procedure is required to support the operation.&#160; Before we add the&#160; the Update Operation to the BcsSalesForecast External Content Type we need to create a store procedure which will be used for this operation called dbo.BcsSalesForecastUpdate:</p>
<p><code>CREATE procedure [dbo].[BcsSalesForecastUpdate] @ID nvarchar(512), @ForecastAmount int as set nocount on update dbo.WeeklySalesForecast set ForecastAmount = @ForecastAmount from dbo.WeeklySalesForecast where EnglishMonthName + '-' + WeekNumber + '-' + SalesTerritoryRegion + '-' + Category = @ID </code></p>
<p>Now that the store procedure is created, SharePoint Designer can be used to add the new operation to the BcsSalesForecast External Content Type.&#160; Navigate to the BcsSalesForecast External Content Type and click “Edit External Content Type” on the Ribbon:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image24.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb6.png" width="244" height="161" /></a> </p>
<p>Now click on the “Operations Design View” Menu item on the Ribbon:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image25.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb7.png" width="244" height="160" /></a> </p>
<p>Right-click on the Routine folder and select Refresh.&#160;&#160; The dbo.BcsSalesForecastUpdate stored procedure should appear.&#160; Right-click on the stored procedure and select “New Update Operation”.&#160; </p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image26.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb8.png" width="244" height="184" /></a> </p>
<p>Make sure the @ID is select as the “Map to Identifier”:</p>
<p> <code>select * from dbo.WeeklySalesForecast where ForecastAmount is not null </code>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image27.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb9.png" width="244" height="184" /></a> </p>
<p>The BcsSalesForecastReadItem and the BcsSalesForecastReadList have to be updated too.&#160; The following fields must be set to “Read Only” or the new Edit Form will not work:</p>
<ul>
<li>MonthName </li>
<li>WeekNumber </li>
<li>SalesGroup </li>
<li>SalesRegion </li>
<li>ProductCategory </li>
<li>LastYearAmount </li>
</ul>
<p>Below is an example of setting a field to read only.&#160; <em>Remember this must be performed on both the Read Item and Read List operations:</em></p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image28.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb10.png" width="244" height="185" /></a>&#160;</p>
<p>Click Finish and the new operation has been created.&#160; The solution is not finished yet.&#160; Remember, we also have an External List called “Sales Forecast”.&#160; If you view the Sales Forecast list and right-click on a row you will notice that there is a new menu item called “Edit Item” and the “Edit Item” button in the ribbon is no longer grayed out.&#160;&#160; Try to edit the row.&#160; You should receive the following error:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image29.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb11.png" width="244" height="126" /></a> </p>
</p>
</p>
</p>
<p>The reason for this is that an Edit Form does not exist for the list.&#160; To work around this we can simply create a new External List and call it “Sales Forecast 2010” and the SharePoint designer will create the necessary forms depending on what operations have been defined for the External Content Type:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image30.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb12.png" width="244" height="161" /></a> </p>
<p>Select the list in SharePoint Designer and click the “Preview in Browser” button on the Ribbon to try out the new “Edit” functionality.&#160; Right-click on any row on the list and select Edit item.&#160; The following form will pop-up:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image31.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb13.png" width="244" height="129" /></a> </p>
<p>Click Save and the the SharePoint List and the External Data will be updated.&#160;&#160; Use Management Studio and execute the following query against the dbo.WeeklySalesForecast:</p>
<p><code>select * from dbo.WeeklySalesForecast where ForecastAmount is not null </code></p>
<p>Now this example may not be practical especially if one person was responsible for updating all of the forecast data.&#160; But this example shows how easy it is to create a simple CRUD (Create, Read, Update, Delete) based application based on External data with little or no code.&#160;&#160; This example only implemented the Read and Update operations but the Create and Delete operations would be very easy to implement and would require 2 more stored procedures (dbo.BcsSalesForecastCreate, dbo.BcsSalesForecastDelete)</p>
<p>Troy</p>
]]></content:encoded>
			<wfw:commentRss>http://troyscott.ca/2010/07/17/creating-an-update-operation-for-an-external-content-type/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Setting Permissions for an External Content Type</title>
		<link>http://troyscott.ca/2010/07/09/setting-permissions-for-an-external-content-type/</link>
		<comments>http://troyscott.ca/2010/07/09/setting-permissions-for-an-external-content-type/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 01:26:22 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://troyscott.ca/2010/07/09/setting-permissions-for-an-external-content-type/</guid>
		<description><![CDATA[In a previous post, I created an External Content Type based on the following Stored Procedures: dbo.BcsSalesForecastReadList dbo.BcsSalesForecastReadItem Before you can use the External Content Type the permissions must be set.&#160;&#160; The permissions are set using the SharePoint 2010 Central Administration Panel.&#160; Open the Central Administration Panel and you should see the following: Under the [...]]]></description>
			<content:encoded><![CDATA[<p>In a previous <a href="http://troyscott.ca/2010/07/02/creating-an-external-content-type-in-sharepoint-2010/" target="_blank">post</a>, I created an External Content Type based on the following Stored Procedures:</p>
<ul>
<li>dbo.BcsSalesForecastReadList </li>
<li>dbo.BcsSalesForecastReadItem</li>
</ul>
<p>Before you can use the External Content Type the permissions must be set.&#160;&#160; The permissions are set using the SharePoint 2010 Central Administration Panel.&#160; Open the Central Administration Panel and you should see the following:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image18.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb.png" width="244" height="174" /></a> </p>
<p>Under the Application Management Section click on the Manage Service Application settings link.&#160; Next Click on the Business Connectivity Data Service and you should see the External Content Type called BcsSalesForecast:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image19.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb1.png" width="244" height="90" /></a> </p>
<p>Hover over the BcsSalesForecast External Content Type and select “Set Permissions” from the drop down box:</p>
</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image20.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb2.png" width="244" height="140" /></a>&#160;</p>
<p>Type in the username (Domain\userid) and click check names to verify the user and then click Add.&#160; Once the user or users are added you can set the permissions.&#160; When I was adding my user id I found that I had to be connected to my domain in order to add my account.&#160; For example, if you are using laptop at home and you are not connected to your companies domain you probably won’t be able to add the account to the External Content Type.&#160; If you have VPN Access to you company network then you can connect to the Domain and then try adding the Account.</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image21.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb3.png" width="244" height="196" /></a> </p>
<p>Once the permissions have been set you can now create an External List based on the External Content Type using the SharePoint Designer.&#160; Just Navigate to the External Content Type in the SharePoint Designer and Select BcsSalesForecast and then click External List located in the Ribbon as shown below:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image22.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb4.png" width="244" height="160" /></a> </p>
<p>This will create an External List called Sales Forecast. Because only ReadList and ReadItem operations are defined for the External Content Type, for now, you can only view all the items in for the Forecast or view the details of one item.</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image23.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image_thumb5.png" width="244" height="171" /></a></p>
<p>If you have not set the permission for the External Content Type you will receive the following error when you try to access the External List:</p>
<p><em><font color="#ff0000">Access denied by Business Data Connectivity.</font></em></p>
<p>Troy</p>
]]></content:encoded>
			<wfw:commentRss>http://troyscott.ca/2010/07/09/setting-permissions-for-an-external-content-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating an External Content Type in SharePoint 2010</title>
		<link>http://troyscott.ca/2010/07/02/creating-an-external-content-type-in-sharepoint-2010/</link>
		<comments>http://troyscott.ca/2010/07/02/creating-an-external-content-type-in-sharepoint-2010/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 18:19:00 +0000</pubDate>
		<dc:creator>Troy</dc:creator>
				<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Performance Management]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://troyscott.ca/2010/07/02/creating-an-external-content-type-in-sharepoint-2010/</guid>
		<description><![CDATA[In a previous post I created a simple weekly sales forecasting table which will be used as a starting point to create an External Content Type.&#160; Below is some sample data from the table: When a External Content Type is created the data source can be a table, view, store procedures or a web services.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>In a previous <a href="http://troyscott.ca/2010/07/01/building-bi-application-with-sharepoint-2010/" target="_blank">post</a> I created a simple weekly sales forecasting table which will be used as a starting point to create an External Content Type.&#160; Below is some sample data from the table:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb3.png" width="244" height="50" /></a> </p>
<p>When a External Content Type is created the data source can be a table, view, store procedures or a web services.&#160; The External Content support various operation but you must provide functionality for the following two operations:</p>
<ul>
<li>Read List </li>
<li>Read Item </li>
</ul>
<p>These two operations must defined in order to use the External Content Type as an External List in SharePoint 2010.&#160; For this example I am going to create two stored procedures for the operations:</p>
<ul>
<li>dbo.BcsSalesForecastReadList </li>
<li>dbo.BcsSalesForecastReadItem </li>
</ul>
<p>Before the External Content Type Operations can be created we need to create the stored procedures that will be used to read an item from the external content type and list all items in the external content type.&#160;&#160;&#160; The Read List stored procedure for our sales forecast data is fairly simple.&#160; The stored procedure simple needs to return all the rows and columns we want to be available in the External Content Type.&#160; Why use a stored procedure then for this operation?&#160;&#160; For simple lists of information a using a table or view is fine but if you want to have a high level of flexibility and control then a store procedure is probably a better choice.&#160;&#160;&#160; A Web Service would provide even more power and platform independence but for our sales forecast application our approach will suffice.</p>
<p><em><strong>dbo.BcsSalesForecastReadList</strong></em></p>
<p><code>create procedure dbo.BcsSalesForecastReadList as set nocount on select EnglishMonthName + '-' + WeekNumber + '-' + SalesTerritoryRegion + '-' + Category ID, EnglishMonthName MonthName, WeekNumber, SalesTerritoryGroup SalesGroup, SalesTerritoryRegion SalesRegion, Category ProductCategory, LastYearAmount, ForecastAmount from dbo.WeeklySalesForecast </code></p>
<p><em><strong>dbo.BcsSalesForecastReadItem</strong></em></p>
<p><code>create procedure dbo.BcsSalesForecastReadItem @ID nvarchar(255) as set nocount on select fcst.ID, fcst.MonthName, fcst.WeekNumber, fcst.SalesGroup, fcst.SalesRegion, fcst.ProductCategory,&#160; fcst.LastYearAmount, fcst.ForecastAmount from ( select EnglishMonthName + '-' + WeekNumber + '-' + SalesTerritoryRegion + '-' + Category ID, EnglishMonthName MonthName, WeekNumber, SalesTerritoryGroup SalesGroup, SalesTerritoryRegion SalesRegion, Category ProductCategory, LastYearAmount, ForecastAmount from dbo.WeeklySalesForecast) fcst where ID = @ID</code></p>
<p>For the purposes of this demo I have created a unique Business Key (ID) which concatenates (joins) the following fields:</p>
<ul>
<li>EnglishMonthName </li>
<li>WeekNumber </li>
<li>SalesTerritoryRegion </li>
<li>Category </li>
</ul>
<p>This combination uniquely identifies each row in the forecast table.&#160;&#160; Ideally you could used an identity column or create proper indexes using the 4 columns.&#160; </p>
<p>Connect to the site that was created in the last post or you can use one of your existing sites.&#160; Open SharePoint Designer and open the following site: </p>
<ul>
<li><a href="http://localhost/opsforecast">http://localhost/opsforecast</a> </li>
</ul>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb4.png" width="244" height="150" /></a> </p>
<p>Click on the External Content Types site object in the Navigation Pane on the right hand side.&#160; Create a New External Content Type.&#160; You should see the following screen:</p>
</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image5.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb5.png" width="244" height="161" /></a> </p>
<p>Enter the following:</p>
<ul>
<li>Name: BcsSalesForecast </li>
<li>Display Name: Bcs Sales Forecast </li>
</ul>
<p>In the External Content Type Operation section click “Click here to discover external data sources and define operations” .&#160; You should see a screen similar to this:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image6.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb6.png" width="244" height="161" /></a> </p>
<p>Click “Add Connection” and select the Data Source Type as SQL Server.&#160; Enter in the following items:</p>
<ul>
<li>Database Server: (<em>server name)</em> </li>
<li>Database Name: AdventureWorksDW2008R2 </li>
<li>Name (optional): Adventure Works </li>
</ul>
<p>For this example you can connect with the User’s Identity.&#160; Look under the “Routines” section and you should see the stored procedures that were created above:</p>
<p><a href="http://troyscott.ca/wp-content/uploads/2010/07/image7.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb7.png" width="244" height="162" /></a> </p>
<p>Right click on the BcsForecastReadList procedure and select “New Read List Operation”.&#160; Keep the default settings for Operation Name and Display Name.&#160; Below is a summary of the Read List wizard:</p>
<table border="0" cellspacing="0" cellpadding="2" width="300">
<tbody>
<tr>
<td valign="top" width="150"><a href="http://troyscott.ca/wp-content/uploads/2010/07/image8.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb8.png" width="244" height="185" /></a> </td>
<td valign="top" width="150"><a href="http://troyscott.ca/wp-content/uploads/2010/07/image9.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb9.png" width="244" height="185" /></a> </td>
</tr>
<tr>
<td valign="top" width="150">1. Operation Properties</td>
<td valign="top" width="150">2. Input Parameters</td>
</tr>
<tr>
<td valign="top" width="150"><a href="http://troyscott.ca/wp-content/uploads/2010/07/image10.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb10.png" width="244" height="185" /></a> </td>
<td valign="top" width="150"><a href="http://troyscott.ca/wp-content/uploads/2010/07/image11.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb11.png" width="244" height="163" /></a> </td>
</tr>
<tr>
<td valign="top" width="150">3. Return Parameter</td>
<td valign="top" width="150">4. Read List is created </td>
</tr>
</tbody>
</table>
</p>
<p>Follow a similar process for the Read Item Operation.&#160; Right-click on the BcsForecastReadItem procedure and select “New Read Item Operation”.&#160; Below is a summary of the Read Item wizard:</p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/07/image12.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb12.png" width="244" height="185" /></a> </td>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/07/image13.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb13.png" width="244" height="184" /></a> </td>
</tr>
<tr>
<td valign="top" width="200">1. Operation Properties</td>
<td valign="top" width="200">2. Input Parameters</td>
</tr>
<tr>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/07/image14.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb14.png" width="244" height="184" /></a> </td>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/07/image15.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb15.png" width="244" height="161" /></a> </td>
</tr>
<tr>
<td valign="top" width="200">3. Return Parameter</td>
<td valign="top" width="200">4. Read Item is created</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>You have now created your first External Content Type.&#160; But we cannot use it yet.&#160; In the next post I will show you how to enable security on the External Content Type and create an External List which will be displayed in the Ops Forecast site.&#160;&#160;&#160; Below is a screen shot of the External Content Type being used as an External list:</p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/07/image16.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb16.png" width="244" height="130" /></a> </td>
<td valign="top" width="200"><a href="http://troyscott.ca/wp-content/uploads/2010/07/image17.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://troyscott.ca/wp-content/uploads/2010/07/image-thumb17.png" width="244" height="134" /></a> </td>
</tr>
<tr>
<td valign="top" width="200">1. List View</td>
<td valign="top" width="200">2. View Item</td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>Troy</p>
]]></content:encoded>
			<wfw:commentRss>http://troyscott.ca/2010/07/02/creating-an-external-content-type-in-sharepoint-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

