<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Thiago Silva - Especialista SharePoint</title>
	<atom:link href="http://thiagottss.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://thiagottss.com.br</link>
	<description>My Personal SharePoint Knowledge Base</description>
	<lastBuildDate>Mon, 14 May 2012 20:21:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='thiagottss.com.br' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Thiago Silva - Especialista SharePoint</title>
		<link>http://thiagottss.com.br</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://thiagottss.com.br/osd.xml" title="Thiago Silva - Especialista SharePoint" />
	<atom:link rel='hub' href='http://thiagottss.com.br/?pushpress=hub'/>
		<item>
		<title>Fazendo Joins com CAML Query</title>
		<link>http://thiagottss.com.br/2012/04/20/fazendo-joins-com-caml-query/</link>
		<comments>http://thiagottss.com.br/2012/04/20/fazendo-joins-com-caml-query/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 20:43:38 +0000</pubDate>
		<dc:creator>Thiago Silva</dc:creator>
				<category><![CDATA[SharePoint - Tips & Tricks]]></category>
		<category><![CDATA[CAML]]></category>
		<category><![CDATA[Campos Projetados]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Join]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Projected Fields]]></category>
		<category><![CDATA[Query]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">https://thiagottss.wordpress.com/?p=768</guid>
		<description><![CDATA[Olá! Cenário: O SharePoint 2010 introduziu uma novidade na maneira de realizar queries usando as já conhecidas CAML Queries. Agora podemos utilizar Joins (e campos projetados) em nossas CAML queries, economizando esforço e até ganhando performance nas queries para alcançar alguns objetivos que antes, no SharePoint 2007, não havia o que fazer. No MSDN encontramos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=768&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá! </p>
<p><b><font color="#f79646">Cenário:</font></b></p>
<p>O SharePoint 2010 introduziu uma novidade na maneira de realizar queries usando as já conhecidas CAML Queries. Agora podemos utilizar <b>Joins</b> (e campos projetados) em nossas CAML queries, economizando esforço e até ganhando performance nas queries para alcançar alguns objetivos que antes, no SharePoint 2007, não havia o que fazer.</p>
<p>No MSDN encontramos bastante documentação a respeito, mas ainda um tanto confuso. Pelo menos eu achei.</p>
<p><a href="http://msdn.microsoft.com/en-us/library/ee539975.aspx">http://msdn.microsoft.com/en-us/library/ee539975.aspx</a> &#8211; List Joins and Projections</p>
<p><b><font color="#f79646">SOLUÇÃO:</font></b></p>
<p>Primeiramente vamos preparar o ambiente que vamos fazer nossos testes.</p>
<p>· Crie duas listas em seu SharePoint, uma lista chamada <b>Eventos</b> (do tipo Personalizada ou Custom List) e outra lista chamada <b>Contatos</b> (do tipo Contatos ou Contacts)</p>
<p><a href="http://thiagottss.files.wordpress.com/2012/04/image43.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://thiagottss.files.wordpress.com/2012/04/image_thumb43.png?w=644&h=405" width="644" height="405" /></a></p>
<p><a href="http://thiagottss.files.wordpress.com/2012/04/image44.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://thiagottss.files.wordpress.com/2012/04/image_thumb44.png?w=644&h=405" width="644" height="405" /></a></p>
<p>Nas lista de <b>Eventos</b>, crie uma coluna do tipo <b>Loopkup</b> (consulta) para a lista de Contatos, chamada <b>Responsavel</b> (sem acento).</p>
<p><a href="http://thiagottss.files.wordpress.com/2012/04/image45.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://thiagottss.files.wordpress.com/2012/04/image_thumb45.png?w=323&h=484" width="323" height="484" /></a></p>
<p>Vá na lista de <b>Contatos</b> e adicione alguns registros:</p>
<p><a href="http://thiagottss.files.wordpress.com/2012/04/image46.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://thiagottss.files.wordpress.com/2012/04/image_thumb46.png?w=644&h=164" width="644" height="164" /></a></p>
<p>Volte a lista de <b>Eventos</b> e também adicione alguns registros, associando contatos aos Eventos:</p>
<p><a href="http://thiagottss.files.wordpress.com/2012/04/image47.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://thiagottss.files.wordpress.com/2012/04/image_thumb47.png?w=644&h=125" width="644" height="125" /></a></p>
<p>Pronto, agora temos o ambiente preparado. Iremos listar todos os eventos e mostrar o título do Evento, Nome e SobreNome (informação que está na outra lista) com apenas uma única query.</p>
<div id="codeSnippetWrapper">
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;"><span style="color:#0000ff;">static</span> <span style="color:#0000ff;">void</span> Main(<span style="color:#0000ff;">string</span>[] args)<br />        {<br />            ShowJoin();<br />        }<br /><br />        <span style="color:#0000ff;">private</span> <span style="color:#0000ff;">static</span> <span style="color:#0000ff;">void</span> ShowJoin()<br />        {<br />            <span style="color:#0000ff;">using</span> (SPSite site = <span style="color:#0000ff;">new</span> SPSite(<span style="color:#006080;">&quot;http://notebook02/sites/treinamento&quot;</span>))<br />            {<br />                <span style="color:#0000ff;">using</span> (SPWeb web = site.OpenWeb())<br />                {<br />                    SPQuery query = <span style="color:#0000ff;">new</span> SPQuery();<br /><br />                    query.Query = <span style="color:#006080;">@&quot;&lt;OrderBy&gt;<br />                                      &lt;FieldRef Name='Title' /&gt;<br />                                   &lt;/OrderBy&gt;&quot;</span>;<br /><br />                    query.Joins = <span style="color:#006080;">&quot;&lt;Join Type='INNER' ListAlias='Contatos'&gt;&quot;</span> +<br />                                    <span style="color:#006080;">&quot;&lt;Eq&gt;&quot;</span> +<br />                                        <span style="color:#006080;">&quot;&lt;FieldRef Name='Responsavel' RefType='Id'/&gt;&quot;</span> +<br />                                        <span style="color:#006080;">&quot;&lt;FieldRef List='Contatos' Name='ID'/&gt;&quot;</span> +<br />                                    <span style="color:#006080;">&quot;&lt;/Eq&gt;&quot;</span> +<br />                                    <span style="color:#006080;">&quot;&lt;/Join&gt;&quot;</span>;<br /><br />                    query.ProjectedFields =<br />                        <span style="color:#006080;">&quot;&lt;Field Name='Nome' Type='Lookup' &quot;</span> +<br />                                <span style="color:#006080;">&quot;List='Contatos' ShowField='FirstName'/&gt;&quot;</span> +<br />                        <span style="color:#006080;">&quot;&lt;Field Name='SobreNome' Type='Lookup' &quot;</span> +<br />                                <span style="color:#006080;">&quot;List='Contatos' ShowField='Title'/&gt;&quot;</span>;<br /><br />                    query.ViewFields = <span style="color:#006080;">&quot;&lt;FieldRef Name='Title'/&gt;&quot;</span> +<br />                                        <span style="color:#006080;">&quot;&lt;FieldRef Name='Nome'/&gt;&quot;</span> +<br />                                        <span style="color:#006080;">&quot;&lt;FieldRef Name='SobreNome'/&gt;&quot;</span>;<br /><br />                    SPList listaEventos = web.Lists[<span style="color:#006080;">&quot;Eventos&quot;</span>];<br /><br />                    SPListItemCollection items = listaEventos.GetItems(query);<br /><br />                    <span style="color:#0000ff;">if</span> (items.Count &gt; 0)<br />                    {<br />                        <span style="color:#0000ff;">foreach</span> (SPListItem item <span style="color:#0000ff;">in</span> items)<br />                        {<br />                            SPFieldLookupValue dseLastName =<br />                                <span style="color:#0000ff;">new</span> SPFieldLookupValue(item[<span style="color:#006080;">&quot;SobreNome&quot;</span>].ToString());<br />                            SPFieldLookupValue dseFirstName =<br />                                <span style="color:#0000ff;">new</span> SPFieldLookupValue(item[<span style="color:#006080;">&quot;Nome&quot;</span>].ToString());<br /><br />                            Console.WriteLine(<span style="color:#006080;">&quot;Nome do Evento: {0}, SobreNome do Reponsável: {1}, Nome do Responsável: {2}&quot;</span>,<br />                                    item.Title,<br />                                    dseLastName.LookupValue,<br />                                    dseFirstName.LookupValue);<br />                        }<br /><br />                        Console.ReadLine();<br />                    }<br />                }<br />            }<br />        }</pre>
<p></div>
<p>Explicando:</p>
<div id="codeSnippetWrapper">
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;">SPQuery query = <span style="color:#0000ff;">new</span> SPQuery();<br /><br />                    query.Query = <span style="color:#006080;">@&quot;&lt;OrderBy&gt;<br />                                      &lt;FieldRef Name='Title' /&gt;<br />                                   &lt;/OrderBy&gt;&quot;</span>;</pre>
<p></div>
<p>Até aqui normal, a mesma query que sempre utilizamos. Nesse caso, apenas ordenando pelo título do evento.</p>
<div id="codeSnippetWrapper">
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;">query.Joins = <span style="color:#006080;">&quot;&lt;Join Type='INNER' ListAlias='Contatos'&gt;&quot;</span> +<br />                                    <span style="color:#006080;">&quot;&lt;Eq&gt;&quot;</span> +<br />                                        <span style="color:#006080;">&quot;&lt;FieldRef Name='Responsavel' RefType='Id'/&gt;&quot;</span> +<br />                                        <span style="color:#006080;">&quot;&lt;FieldRef List='Contatos' Name='ID'/&gt;&quot;</span> +<br />                                    <span style="color:#006080;">&quot;&lt;/Eq&gt;&quot;</span> +<br />                                    <span style="color:#006080;">&quot;&lt;/Join&gt;&quot;</span>;</pre>
<p></div>
<p>Aqui montamos a condição do Join que iremos fazer com a lista Contatos (lembrando que nossa query roda na lista Eventos).</p>
<div id="codeSnippetWrapper">
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;">query.ProjectedFields =<br />                        <span style="color:#006080;">&quot;&lt;Field Name='Nome' Type='Lookup' &quot;</span> +<br />                                <span style="color:#006080;">&quot;List='Contatos' ShowField='FirstName'/&gt;&quot;</span> +<br />                        <span style="color:#006080;">&quot;&lt;Field Name='SobreNome' Type='Lookup' &quot;</span> +<br />                                <span style="color:#006080;">&quot;List='Contatos' ShowField='Title'/&gt;&quot;</span>;</pre>
<p></div>
<p>Aqui projetamos os campos da lista Contatos na “lista” Eventos. Na verdade, os campos são projetados apenas no SPListItemCollection retornado na query. Damos um <b>alias </b>(Name) para o campo e vinculamos ao nome interno (ShowField) do campo na lista Contatos. Então, nossos itens retornados terão as colunas projetadas Nome e SobreNome, da lista Contatos, juntamente com todas as colunas da lista de Eventos.</p>
<div id="codeSnippetWrapper">
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;">query.ViewFields = <span style="color:#006080;">&quot;&lt;FieldRef Name='Title'/&gt;&quot;</span> +<br />                                        <span style="color:#006080;">&quot;&lt;FieldRef Name='Nome'/&gt;&quot;</span> +<br />                                        <span style="color:#006080;">&quot;&lt;FieldRef Name='SobreNome'/&gt;&quot;</span>;</pre>
<p></div>
<p>Aqui explicitamos apenas os campos que queremos retornados na query. Ou seja, a query trará APENAS os campos relacionados abaixo. Bom procedimento quando queremos performance, afinal, por que trazer todos os campos se apenas vamos usar alguns?</p>
<p>Percebam que usei os <b>alias</b> criados anteriormente e não mais o nomes reais da lista Contatos (que seriam Title, para LastName, e FirstName).</p>
<p>Ao mandar rodar, temos:</p>
<p><a href="http://thiagottss.files.wordpress.com/2012/04/image48.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://thiagottss.files.wordpress.com/2012/04/image_thumb48.png?w=644&h=327" width="644" height="327" /></a></p>
<p>Campos de outra lista projetados no resultado da query. E o melhor, podemos fazer query na outra lista já nessa mesma query! Exemplo:</p>
<div id="codeSnippetWrapper">
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;">query.Query = <span style="color:#006080;">@&quot;&lt;Where&gt;<br />                                       &lt;Eq&gt;<br />                                           &lt;FieldRef Name='Nome' /&gt;<br />                                           &lt;Value Type='Text'&gt;Thiago&lt;/Value&gt;<br />                                       &lt;/Eq&gt;<br />                                   &lt;/Where&gt;<br />                                   &lt;OrderBy&gt;<br />                                     &lt;FieldRef Name='Title' /&gt;<br />                                  &lt;/OrderBy&gt;&quot;</span>;</pre>
<p></div>
<p>O campo <b>Nome</b>, que usei na query, não “existe” em nenhuma das listas. É o <b>alias, </b>ou campo projetado, criado aqui:</p>
<div id="codeSnippetWrapper">
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;">query.ProjectedFields =<br />                        <span style="color:#006080;">&quot;&lt;Field Name='Nome' Type='Lookup' &quot;</span> +<br />                                <span style="color:#006080;">&quot;List='Contatos' ShowField='FirstName'/&gt;&quot;</span> +<br />                        <span style="color:#006080;">&quot;&lt;Field Name='SobreNome' Type='Lookup' &quot;</span> +<br />                                <span style="color:#006080;">&quot;List='Contatos' ShowField='Title'/&gt;&quot;</span>;</pre>
<p></div>
<p>Vamos testar! De acordo com a Query, é para trazer ordenado pelo título do evento, apenas os eventos que o Nome do responsável seja <b>igual a</b> Thiago.</p>
<p><a href="http://thiagottss.files.wordpress.com/2012/04/image49.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://thiagottss.files.wordpress.com/2012/04/image_thumb49.png?w=644&h=327" width="644" height="327" /></a></p>
<p>É isso aí, até mais! <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://thiagottss.files.wordpress.com/2012/04/wlemoticon-smile1.png?w=600" /></p>
<p>Abraço!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagottss.wordpress.com/768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagottss.wordpress.com/768/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagottss.wordpress.com/768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagottss.wordpress.com/768/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagottss.wordpress.com/768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagottss.wordpress.com/768/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagottss.wordpress.com/768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagottss.wordpress.com/768/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagottss.wordpress.com/768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagottss.wordpress.com/768/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagottss.wordpress.com/768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagottss.wordpress.com/768/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagottss.wordpress.com/768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagottss.wordpress.com/768/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=768&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagottss.com.br/2012/04/20/fazendo-joins-com-caml-query/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c2ba284cd918d2dd450b3ca24e2fc4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagottss</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/04/image_thumb43.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/04/image_thumb44.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/04/image_thumb45.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/04/image_thumb46.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/04/image_thumb47.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/04/image_thumb48.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/04/image_thumb49.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/04/wlemoticon-smile1.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>
	</item>
		<item>
		<title>Executando Queries de Alta Performance com SPSiteDataQuery</title>
		<link>http://thiagottss.com.br/2012/04/20/executando-queries-de-alta-performance-com-spsitedataquery/</link>
		<comments>http://thiagottss.com.br/2012/04/20/executando-queries-de-alta-performance-com-spsitedataquery/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 03:55:37 +0000</pubDate>
		<dc:creator>Thiago Silva</dc:creator>
				<category><![CDATA[SharePoint - Tips & Tricks]]></category>
		<category><![CDATA[High Performance]]></category>
		<category><![CDATA[Large Lists]]></category>
		<category><![CDATA[Listas Grandes]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SPSiteDataQuery]]></category>

		<guid isPermaLink="false">https://thiagottss.wordpress.com/?p=619</guid>
		<description><![CDATA[Olá! Cenário: Meu grande amigo postou recentemente uma série de posts sobre como o SharePoint pode armazenar listas com grandes quantidades de informação: http://rodrigoromano.net/2012/04/12/trabalhando-com-listas-grandesparte-i/ &#8211; Trabalhando com listas “grandes”–Parte I http://rodrigoromano.net/2012/04/18/trabalhando-com-listas-grandesparte-2/ &#8211; Trabalhando com listas “grandes” – Parte 2 Para auxiliar esse processo, o Object Model do SharePoint possui um objeto excepcional para executar queries [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=619&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá! <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://thiagottss.files.wordpress.com/2012/04/wlemoticon-smile.png?w=600" /></p>
<p><b><font color="#f79646">Cenário:</font></b></p>
<p>Meu grande amigo postou recentemente uma série de posts sobre como o SharePoint pode armazenar listas com grandes quantidades de informação:</p>
<p><a href="http://rodrigoromano.net/2012/04/12/trabalhando-com-listas-grandesparte-i/">http://rodrigoromano.net/2012/04/12/trabalhando-com-listas-grandesparte-i/</a> &#8211; Trabalhando com listas “grandes”–Parte I</p>
<p><a href="http://rodrigoromano.net/2012/04/18/trabalhando-com-listas-grandesparte-2/">http://rodrigoromano.net/2012/04/18/trabalhando-com-listas-grandesparte-2/</a> &#8211; Trabalhando com listas “grandes” – Parte 2</p>
<p>Para auxiliar esse processo, o Object Model do SharePoint possui um objeto excepcional para executar queries de alta performance. Esse objeto é o SPSiteDataQuery (<a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsitedataquery.aspx">http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsitedataquery.aspx</a>).</p>
<p>Diferente do objeto comum de queries, o SPQuery (<a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spquery.aspx">http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spquery.aspx</a>) que só pode ser executado em uma única lista (<a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.aspx">SPList</a>) por vez, o SPSiteDataQuery pode executar queries em mais de uma lista e em mais de um site. Ou seja, ele é cross-site e cross-lista, e a performance é absurdamente melhor. Então, se puder, utilize o SPSiteDataQuery quando for retornar informações que obedecem mesma condição em várias listas/sites.</p>
<p><b><font color="#f79646">SOLUÇÃO:</font></b></p>
<p>Para utilizar o <b>SPSiteDataQuery</b> em nossas queries, precisamos definir algumas propriedades:</p>
<p><b>SPSiteDataQuery.Webs</b>: Define o escopo da query. Por padrão (string.Empty), irá buscar apenas no site (SPWeb) em que rodamos o SPSiteDataQuery.</p>
<p>· &quot;&lt;Webs Scope=&#8217;SiteCollection&#8217; /&gt;&quot;: Define o escopo para buscar em todos os sites da coleção de sites (SPSite).</p>
<p>· &quot;&lt;Webs Scope=&#8217;Recursive&#8217; /&gt;&quot;: Define o escopo para buscar no site (SPWeb) que está rodando o SPSiteDataQuery e em todos seus subsites.</p>
<p><b>SPSiteDataQuery.Lists</b>: Define quais listas incluir na query.</p>
<p>· Podemos utilizar o template da lista (Ex: &quot;&lt;Lists ServerTemplate=\&quot;105\&quot; /&gt;&quot;; – Esse exemplo busca apenas as listas com template 105 ou seja, as listas de Contatos do SharePoint) ou GUIDs das listas que queremos pesquisar (Ex: &quot;&lt;Lists&gt;&lt;List ID=&#8217;416E2D08-46F1-4029-9729-C1B73850BF12&#8242; /&gt;&lt;List ID=&#8217;923CD349-6A71-46DE-9A2D-7F6703EC0756&#8242;/&gt;&lt;/Lists&gt;&quot;).</p>
<p><b>SPSiteDataQuery.ViewFields</b>: Definimos quais fields queremos retornar na query. Por padrão, se não especificarmos nenhum campo, será retornado <b>WebId</b>, <b>ListId</b> e <b>ID</b> de cada item encontrado.</p>
<p>· Ex: &quot;&lt;FieldRef Name=&#8217;Title&#8217; Type=&#8217;Text&#8217; /&gt;&lt;FieldRef Name=&#8217;ID&#8217; Type=&#8217;Counter&#8217;/&gt;&lt;FieldRef Name=&#8217;Author&#8217; Type=&#8217;User&#8217;/&gt;&lt;FieldRef Name=&#8217;Created&#8217; Type=&#8217;DateTime&#8217;/&gt;&lt;FieldRef Name=&#8217;Modified&#8217; Type=&#8217;DateTime&#8217;/&gt;&quot;;</p>
<p>E finalmente,</p>
<p><b>SPSiteDataQuery.Query</b>: Definimos a condição que os itens retornados devem obedecer, ou simplesmente ordenamos os resultados.</p>
<p>· Ex: “&lt;OrderBy&gt;&lt;FieldRef Name=&#8217;Modified&#8217; Ascending=&#8217;False&#8217;/&gt;&lt;/OrderBy&gt;”;</p>
<p>Opcionalmente, podemos limitar a quantidade de items retornados com <b>SPSiteDataQuery.RowLimit</b>.</p>
<p>Na íntegra:</p>
<p>&#160;</p>
<div id="codeSnippetWrapper">
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0;width:100%;font-family:&#039;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;"><span style="color:#0000ff;">protected</span> <span style="color:#0000ff;">override</span> <span style="color:#0000ff;">void</span> CreateChildControls()<br />        {<br />            <span style="color:#0000ff;">using</span> (SPSite site = <span style="color:#0000ff;">new</span> SPSite(SPContext.Current.Web.Url))<br />            {<br />                <span style="color:#0000ff;">using</span> (SPWeb web = site.OpenWeb())<br />                {<br />                    <span style="color:#0000ff;">try</span><br />                    {                        <br />                        SPSiteDataQuery q = <span style="color:#0000ff;">new</span> SPSiteDataQuery();<br />                        q.Lists = <span style="color:#006080;">&quot;&lt;Lists&gt;&lt;List ID='416E2D08-46F1-4029-9729-C1B73850BF12' /&gt;&lt;List ID='923CD349-6A71-46DE-9A2D-7F6703EC0756'/&gt;&lt;/Lists&gt;&quot;</span>;<br />                        q.Webs = <span style="color:#006080;">&quot;&quot;</span>;<br />                        q.Query = <span style="color:#006080;">&quot;&lt;OrderBy&gt;&lt;FieldRef Name='Modified' Ascending='False'/&gt;&lt;/OrderBy&gt;&quot;</span>;                        <br />                        q.ViewFields = <span style="color:#006080;">@&quot;&lt;FieldRef Name='Title' Type='Text' /&gt;&lt;FieldRef Name='ID' Type='Counter'/&gt;&lt;FieldRef Name='Author' Type='User'/&gt;&lt;FieldRef Name='Created' Type='DateTime'/&gt;&lt;FieldRef Name='Modified' Type='DateTime'/&gt;&quot;</span>;                        <br />                        q.RowLimit = 10;<br />                        <br />                        DataTable dt = web.GetSiteData(q);<br />                        DataView dv = <span style="color:#0000ff;">new</span> DataView(dt);<br /><br />                        GridView grid = <span style="color:#0000ff;">new</span> GridView();<br />                        grid.DataSource = dv;<br />                        grid.AutoGenerateColumns = <span style="color:#0000ff;">false</span>;<br />                        grid.Width = Unit.Percentage(100);<br />                        grid.CssClass = <span style="color:#006080;">&quot;whatsnew&quot;</span>;                        <br />                        <br />                        BoundField boundField = <span style="color:#0000ff;">new</span> BoundField();<br />                        boundField.HeaderText = <span style="color:#006080;">&quot;Nome&quot;</span>;<br />                        boundField.DataField = <span style="color:#006080;">&quot;Title&quot;</span>;<br />                        grid.Columns.Add(boundField);<br /><br />                        boundField = <span style="color:#0000ff;">new</span> BoundField();<br />                        boundField.HeaderText = <span style="color:#006080;">&quot;Criado Por&quot;</span>;<br />                        boundField.DataField = <span style="color:#006080;">&quot;Author&quot;</span>;<br />                        grid.Columns.Add(boundField);                        <br /><br />                        <span style="color:#0000ff;">this</span>.Controls.Add(grid);<br />                    }<br />                    <span style="color:#0000ff;">catch</span> (Exception ex)<br />                    {<br />                        ULSLogging.LogErrorInULS(ex, <span style="color:#006080;">&quot;What's New&quot;</span>);<br />                    }                    <br />                }<br />            }<br />        }</pre>
<p></div>
<p>&#160;</p>
<p>Abraço!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagottss.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagottss.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagottss.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagottss.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagottss.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagottss.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagottss.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagottss.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagottss.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagottss.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagottss.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagottss.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagottss.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagottss.wordpress.com/619/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=619&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagottss.com.br/2012/04/20/executando-queries-de-alta-performance-com-spsitedataquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c2ba284cd918d2dd450b3ca24e2fc4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagottss</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/04/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>
	</item>
		<item>
		<title>Como Inserir e Configurar uma WebPart de Gráfico de Barras</title>
		<link>http://thiagottss.com.br/2012/04/17/como-inserir-e-configurar-uma-webpart-de-grafico-de-barras/</link>
		<comments>http://thiagottss.com.br/2012/04/17/como-inserir-e-configurar-uma-webpart-de-grafico-de-barras/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 05:07:45 +0000</pubDate>
		<dc:creator>Thiago Silva</dc:creator>
				<category><![CDATA[Computadores e Internet]]></category>
		<category><![CDATA[Computers and Internet]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[WebPart]]></category>
		<category><![CDATA[WebPart de Gráficos]]></category>

		<guid isPermaLink="false">http://thiagottss.com.br/?p=608</guid>
		<description><![CDATA[Olá! Fiz esse vídeo há algum tempo, mas havia esquecido de subir e compartilhar. Bem simples, mas que pode ser útil para quem for fazer isso pela primeira vez. No vídeo mostro como inserir e configurar uma Web Part de Gráfico de Barras, conectada a uma lista com informações do SharePoint. Infelizmente, no processo de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=608&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Fiz esse vídeo há algum tempo, mas havia esquecido de subir e compartilhar. Bem simples, mas que pode ser útil para quem for fazer isso pela primeira vez.</p>
<p>No vídeo mostro como inserir e configurar uma Web Part de Gráfico de Barras, conectada a uma lista com informações do SharePoint. Infelizmente, no processo de upload para o Youtube, a qualidade do audio caiu um pouco mas acho que dá pra seguir bem.</p>
<span style="text-align:center; display: block;"><a href="http://thiagottss.com.br/2012/04/17/como-inserir-e-configurar-uma-webpart-de-grafico-de-barras/"><img src="http://img.youtube.com/vi/vejfTJYRICk/2.jpg" alt="" /></a></span>
<p>Abraço!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagottss.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagottss.wordpress.com/608/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagottss.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagottss.wordpress.com/608/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagottss.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagottss.wordpress.com/608/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagottss.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagottss.wordpress.com/608/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagottss.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagottss.wordpress.com/608/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagottss.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagottss.wordpress.com/608/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagottss.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagottss.wordpress.com/608/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=608&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagottss.com.br/2012/04/17/como-inserir-e-configurar-uma-webpart-de-grafico-de-barras/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c2ba284cd918d2dd450b3ca24e2fc4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagottss</media:title>
		</media:content>
	</item>
		<item>
		<title>The content type text/html; charset=utf-8 of the response message does not match the content type of the binding</title>
		<link>http://thiagottss.com.br/2012/02/17/the-content-type-texthtml-charsetutf-8-of-the-response-message-does-not-match-the-content-type-of-the-binding/</link>
		<comments>http://thiagottss.com.br/2012/02/17/the-content-type-texthtml-charsetutf-8-of-the-response-message-does-not-match-the-content-type-of-the-binding/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 03:03:05 +0000</pubDate>
		<dc:creator>Thiago Silva</dc:creator>
				<category><![CDATA[SharePoint - TroubleShoothing]]></category>
		<category><![CDATA[MOSS 2007]]></category>
		<category><![CDATA[VSeWSS]]></category>
		<category><![CDATA[WCF Activation]]></category>

		<guid isPermaLink="false">https://thiagottss.wordpress.com/?p=604</guid>
		<description><![CDATA[Olá! Cenário: Desenvolver para SharePoint 2010 usando Visual Studio 2010 é infinitamente melhor e mais produtivo do que desenvolver para SharePoint 2007 usando Visual Studio 2008. Mas, como a vida dá voltas, me deparo com o cenário vivido por muito tempo. E tempo esse sensacional entendendo a estrutura do SharePoint. Eis que ao montar um [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=604&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá! <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://thiagottss.files.wordpress.com/2012/02/wlemoticon-smile.png?w=600" /></p>
<p><b><font color="#f79646">Cenário:</font></b></p>
<p>Desenvolver para SharePoint 2010 usando Visual Studio 2010 é infinitamente melhor e mais produtivo do que desenvolver para SharePoint 2007 usando Visual Studio 2008.</p>
<p>Mas, como a vida dá voltas, me deparo com o cenário vivido por muito tempo. E tempo esse sensacional entendendo a estrutura do SharePoint.</p>
<p>Eis que ao montar um novo ambiente de desenvolvimento para SharePoint 2007, usando o Visual Studio eXtensions for Windows SharePoint Services (VSeWSS) 3.0, me deparo com um erro ao tentar montar um pacote .wsp “Package” ou tentar montar fazer um deploy no servidor.</p>
<p><b><font color="#f79646">ERRO:</font></b></p>
<p><b>Error: System.ServiceModel.ProtocolException System.ServiceModel.ProtocolException: The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: &#8216;&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;</b><b><a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a></b><b>&quot;&gt; &lt;html xmlns=&quot;</b><b><a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a></b><b>&quot;&gt; &lt;head&gt; &lt;title&gt;IIS 7.0 Detailed Error &#8211; 500.0 &#8211; Internal Server Error&lt;/title&gt; &lt;style type=&quot;text/css&quot;&gt; &lt;!&#8211; body{margin:0;font-size:.7em;font-family:Verdana,Arial,Helvetica,sans-serif;background:#CBE1EF;} code{margin:0;color:#006600;font-size:1.1em;font-weight:bold;} .config_source code{font-size:.8em;color:#000000;} pre{margin:0;font-size:1.4em;word-wrap:break-word;} ul,ol{margin:10px 0 10px 40px;} ul.first,ol.first{margin-top:5px;} fieldset{padding:0 15px 10px 15px;} .summary-container fieldset{padding-bottom:5px;margin-top:4px;} legend.no-expand-all{padding:2px 15px 4px 10px;margin:0 0 0 -12px;} legend{color:#333333;padding:4px 15px 4px 10px;margin:4px 0 8px -12px;_margin-top:0px; border-top:1px solid #EDEDED;border-left:1px solid #EDEDED;border-right:1px solid #969696; border-bottom:1px solid #969696;background:#E7ECF0;font-weight:bold;f&#8217;. &#8212;&gt; System.Net.WebException: The remote server returned an error: (500) Internal Server Error. at System.Net.HttpWebRequest.GetResponse().</b></p>
<p><b><font color="#f79646">SOLUÇÃO:</font></b></p>
<p>Para resolver o problema precisamos nos certificar que o <b>Windows Communication Foundation HTTP Activation </b>esteja ativado no servidor.</p>
<p>Para isso, vamos aos passos:</p>
<p>Abra o Server Manager &gt; Features &gt; Add Features:</p>
<p><a href="http://thiagottss.files.wordpress.com/2012/02/clip_image002.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="clip_image002" border="0" alt="clip_image002" src="http://thiagottss.files.wordpress.com/2012/02/clip_image002_thumb.jpg?w=644&h=449" width="644" height="449" /></a></p>
<p>No seletor de features marque a opção <b>HTTP Activation</b>, em .Net Framework Features &gt; WCF Activation:</p>
<p><a href="http://thiagottss.files.wordpress.com/2012/02/clip_image004.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="clip_image004" border="0" alt="clip_image004" src="http://thiagottss.files.wordpress.com/2012/02/clip_image004_thumb.jpg?w=644&h=476" width="644" height="476" /></a></p>
<p>Clique em Next e Install para instalar a feature. Feito isso, o deploy irá funcionar.</p>
<p>&#160;</p>
<p>&#8212;&#8212; Generate solution file and setup batch file &#8212;&#8212;</p>
<p>Creating solution &#8230;</p>
<p>Operation completed successfully.</p>
<p>Creating setup batch file &#8230;</p>
<p>Operation completed successfully.</p>
<p>&#8212;&#8212; Packaged successfully to C:\Projects\Sebrae\DoneIT.Sebrae.PortfolioWeb\bin\Debug\DoneIT.Sebrae.PortfolioWeb.wsp &#8212;&#8212;</p>
<p>========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========</p>
<p>========== Deploy: 1 succeeded, 0 failed, 0 skipped ==========</p>
<p>&#160;</p>
<p>Abraço!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagottss.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagottss.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagottss.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagottss.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagottss.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagottss.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagottss.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagottss.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagottss.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagottss.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagottss.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagottss.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagottss.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagottss.wordpress.com/604/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=604&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagottss.com.br/2012/02/17/the-content-type-texthtml-charsetutf-8-of-the-response-message-does-not-match-the-content-type-of-the-binding/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c2ba284cd918d2dd450b3ca24e2fc4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagottss</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/02/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/02/clip_image002_thumb.jpg" medium="image">
			<media:title type="html">clip_image002</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/02/clip_image004_thumb.jpg" medium="image">
			<media:title type="html">clip_image004</media:title>
		</media:content>
	</item>
		<item>
		<title>The requested OLE DB provider Microsoft.Jet.OLEDB.4.0 is not registered &#8212; perhaps no 64-bit provider is available</title>
		<link>http://thiagottss.com.br/2012/01/17/the-requested-ole-db-provider-microsoft-jet-oledb-4-0-is-not-registered-perhaps-no-64-bit-provider-is-available/</link>
		<comments>http://thiagottss.com.br/2012/01/17/the-requested-ole-db-provider-microsoft-jet-oledb-4-0-is-not-registered-perhaps-no-64-bit-provider-is-available/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 18:02:11 +0000</pubDate>
		<dc:creator>Thiago Silva</dc:creator>
				<category><![CDATA[SQL Server - TroubleShooting]]></category>
		<category><![CDATA[Integration Services]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SSIS]]></category>

		<guid isPermaLink="false">https://thiagottss.wordpress.com/?p=594</guid>
		<description><![CDATA[Olá! Cenário: Automatizando alguns processos e/ou coletando informações de diversas fontes de dados para centralizar relatórios em um único ponto (SharePoint!) precisamos criar mecanismos de extração e carga das informações (ETL). Na experiência deste post, precisei extrair as informações de banco de dados Access (.mdb) e jogar a informação em tabela no SQL. Ao utilizar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=594&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá! <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Alegre" src="http://thiagottss.files.wordpress.com/2012/01/wlemoticon-smile.png?w=600" /></p>
<p><b><font color="#f79646">Cenário:</font></b></p>
<p>Automatizando alguns processos e/ou coletando informações de diversas fontes de dados para centralizar relatórios em um único ponto (SharePoint!) precisamos criar mecanismos de extração e carga das informações (ETL).</p>
<p>Na experiência deste post, precisei extrair as informações de banco de dados Access (.mdb) e jogar a informação em tabela no SQL.</p>
<p>Ao utilizar o provider nativo de acesso a fonte de dados Access e mandar rodar a extração me deparo com um erro.</p>
<p><b><font color="#f79646">ERRO:</font></b></p>
<p><b>The requested OLE DB provider Microsoft.Jet.OLEDB.4.0 is not registered &#8212; perhaps no 64-bit provider is available.</b></p>
<p>E de fato, como podemos ler, não existe a versão deste provider para plataforma 64 bits: <a href="http://support.microsoft.com/kb/957570">http://support.microsoft.com/kb/957570</a>.</p>
<p><b><font color="#f79646">SOLUÇÃO:</font></b></p>
<p>Para resolver o problema forcei o pacote do SQL Server Integration Services (SSIS) rodar como 32 bits, tanto no Business Intelligence Management Studio (BIMS) quanto no Timer no SQL Server Agent.</p>
<p>No BIMS, nas propriedades de configuração do projeto:</p>
<p><a href="http://thiagottss.files.wordpress.com/2012/01/clip_image002.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="clip_image002" border="0" alt="clip_image002" src="http://thiagottss.files.wordpress.com/2012/01/clip_image002_thumb.jpg?w=644&h=392" width="644" height="392" /></a></p>
<p>No Job do SQL Server Agent:</p>
<p><a href="http://thiagottss.files.wordpress.com/2012/01/clip_image004.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="clip_image004" border="0" alt="clip_image004" src="http://thiagottss.files.wordpress.com/2012/01/clip_image004_thumb.jpg?w=644&h=364" width="644" height="364" /></a></p>
<p>Abraço!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagottss.wordpress.com/594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagottss.wordpress.com/594/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagottss.wordpress.com/594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagottss.wordpress.com/594/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagottss.wordpress.com/594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagottss.wordpress.com/594/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagottss.wordpress.com/594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagottss.wordpress.com/594/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagottss.wordpress.com/594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagottss.wordpress.com/594/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagottss.wordpress.com/594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagottss.wordpress.com/594/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagottss.wordpress.com/594/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagottss.wordpress.com/594/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=594&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagottss.com.br/2012/01/17/the-requested-ole-db-provider-microsoft-jet-oledb-4-0-is-not-registered-perhaps-no-64-bit-provider-is-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c2ba284cd918d2dd450b3ca24e2fc4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagottss</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/01/wlemoticon-smile.png" medium="image">
			<media:title type="html">Alegre</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/01/clip_image002_thumb.jpg" medium="image">
			<media:title type="html">clip_image002</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2012/01/clip_image004_thumb.jpg" medium="image">
			<media:title type="html">clip_image004</media:title>
		</media:content>
	</item>
		<item>
		<title>2011 in review</title>
		<link>http://thiagottss.com.br/2012/01/11/2011-in-review/</link>
		<comments>http://thiagottss.com.br/2012/01/11/2011-in-review/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 14:42:07 +0000</pubDate>
		<dc:creator>Thiago Silva</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thiagottss.com.br/?p=586</guid>
		<description><![CDATA[The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog. Here&#8217;s an excerpt: The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 16,000 times in 2011. If it were a concert at Sydney Opera House, it would take about 6 sold-out performances for that many [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=586&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.</p>
<p><a href="/2011/annual-report/"><img src="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/emailteaser.jpg" alt="" width="100%" /></a></p>
<p>Here&#8217;s an excerpt:</p>
<blockquote><p>The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about <strong>16,000</strong> times in 2011. If it were a concert at Sydney Opera House, it would take about 6 sold-out performances for that many people to see it.</p></blockquote>
<p><a href="/2011/annual-report/">Click here to see the complete report.</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagottss.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagottss.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagottss.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagottss.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagottss.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagottss.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagottss.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagottss.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagottss.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagottss.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagottss.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagottss.wordpress.com/586/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagottss.wordpress.com/586/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagottss.wordpress.com/586/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=586&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagottss.com.br/2012/01/11/2011-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>-23.533300 -46.616699</georss:point>
		<geo:lat>-23.533300</geo:lat>
		<geo:long>-46.616699</geo:long>
		<media:content url="http://1.gravatar.com/avatar/50c2ba284cd918d2dd450b3ca24e2fc4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagottss</media:title>
		</media:content>

		<media:content url="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/emailteaser.jpg" medium="image" />
	</item>
		<item>
		<title>For&#231;ar Download arquivos PDF em Bibliotecas de Documentos em uma WebPart Customizada</title>
		<link>http://thiagottss.com.br/2011/11/17/forar-download-arquivos-pdf-em-bibliotecas-de-documentos-em-uma-webpart-customizada/</link>
		<comments>http://thiagottss.com.br/2011/11/17/forar-download-arquivos-pdf-em-bibliotecas-de-documentos-em-uma-webpart-customizada/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 15:01:45 +0000</pubDate>
		<dc:creator>Thiago Silva</dc:creator>
				<category><![CDATA[SharePoint - Tips & Tricks]]></category>
		<category><![CDATA[Nativo]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[WebPart]]></category>

		<guid isPermaLink="false">https://thiagottss.wordpress.com/?p=583</guid>
		<description><![CDATA[Olá! Cenário: Muitas vezes desenvolvendo soluções para SharePoint esbarramos com alguns “pequenos” comportamentos que o usuário solicita uma mudança. A bola da vez foi que o comportamento padrão de arquivos PDF é abrir no browser (falando de IE, por exemplo). Então, temos uma aplicação customizada que lista os documentos de uma biblioteca e imprime o [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=583&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá! <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Alegre" src="http://thiagottss.files.wordpress.com/2011/11/wlemoticon-smile1.png?w=600" /></p>
<p><b><font color="#f79646">Cenário:</font></b></p>
<p>Muitas vezes desenvolvendo soluções para SharePoint esbarramos com alguns “pequenos” comportamentos que o usuário solicita uma mudança.</p>
<p>A bola da vez foi que o comportamento padrão de arquivos PDF é abrir no browser (falando de IE, por exemplo). Então, temos uma aplicação customizada que lista os documentos de uma biblioteca e imprime o link do documento na tela para download.</p>
<p>Nos arquivos PDFs o browser entende e abre o documento no browser. Precisamos que seja forçado o download.</p>
<p><b><font color="#f79646">SOLUÇÃO:</font></b></p>
<p>Existem diversas formas de fazer isso, customizando ainda a aplicação. Mas(!) estamos trabalhando o SharePoint e com isso, temos toda a infraestrutura que já está nele!</p>
<p>Ora pois, o SharePoint já faz download de arquivos nativamente:</p>
<p>· No Ribbon</p>
<p><a href="http://thiagottss.files.wordpress.com/2011/11/clip_image002.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="clip_image002" border="0" alt="clip_image002" src="http://thiagottss.files.wordpress.com/2011/11/clip_image002_thumb.jpg?w=210&h=106" width="210" height="106" /></a></p>
<p>· No menu de contexto do item:</p>
<p><a href="http://thiagottss.files.wordpress.com/2011/11/clip_image004.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="clip_image004" border="0" alt="clip_image004" src="http://thiagottss.files.wordpress.com/2011/11/clip_image004_thumb.jpg?w=571&h=218" width="571" height="218" /></a></p>
<p>Então, por que não utilizar o que SharePoint já usa? <b>(Sempre persiga isso! Se o SharePoint já faz, tente usar!)</b></p>
<p>Peace of cake! Com um pouco de debug feelings… descobrimos que o SharePoint simplesmente chama um página passando um parâmetro.</p>
<p>Ou seja, faça um simples &lt;a href=”/_layouts/download.aspx?SourceUrl=http://sharepoint/Documents /Arquivo.pdf”&gt;&lt;/a&gt; e o SharePoint forçará o download. <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://thiagottss.files.wordpress.com/2011/11/clip_image006.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="clip_image006" border="0" alt="clip_image006" src="http://thiagottss.files.wordpress.com/2011/11/clip_image006_thumb.jpg?w=571&h=194" width="571" height="194" /></a></p>
<p>Abraço!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagottss.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagottss.wordpress.com/583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagottss.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagottss.wordpress.com/583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagottss.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagottss.wordpress.com/583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagottss.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagottss.wordpress.com/583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagottss.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagottss.wordpress.com/583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagottss.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagottss.wordpress.com/583/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagottss.wordpress.com/583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagottss.wordpress.com/583/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=583&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagottss.com.br/2011/11/17/forar-download-arquivos-pdf-em-bibliotecas-de-documentos-em-uma-webpart-customizada/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c2ba284cd918d2dd450b3ca24e2fc4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagottss</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2011/11/wlemoticon-smile1.png" medium="image">
			<media:title type="html">Alegre</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2011/11/clip_image002_thumb.jpg" medium="image">
			<media:title type="html">clip_image002</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2011/11/clip_image004_thumb.jpg" medium="image">
			<media:title type="html">clip_image004</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2011/11/clip_image006_thumb.jpg" medium="image">
			<media:title type="html">clip_image006</media:title>
		</media:content>
	</item>
		<item>
		<title>Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack</title>
		<link>http://thiagottss.com.br/2011/11/07/unable-to-evaluate-expression-because-the-code-is-optimized-or-a-native-frame-is-on-top-of-the-call-stack/</link>
		<comments>http://thiagottss.com.br/2011/11/07/unable-to-evaluate-expression-because-the-code-is-optimized-or-a-native-frame-is-on-top-of-the-call-stack/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 20:49:24 +0000</pubDate>
		<dc:creator>Thiago Silva</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://thiagottss.wordpress.com/2011/11/07/unable-to-evaluate-expression-because-the-code-is-optimized-or-a-native-frame-is-on-top-of-the-call-stack/</guid>
		<description><![CDATA[Olá! Cenário: Algumas coisinhas que acontecem quando temos variáveis diferentes ao nosso Portal! Nesta ocasião o Portal será exposto na Internet, e usuários com permissão somente leitura irão acessar o Portal. Nos primeiros testes tudo Ok, mas algumas páginas usam determinados recursos que precisam de permissão elevada para rodar. ERRO: Unable to evaluate expression because [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=575&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá! <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Alegre" src="http://thiagottss.files.wordpress.com/2011/11/wlemoticon-smile.png?w=600" /></p>
<p><b><font color="#f79646">Cenário:</font></b></p>
<p>Algumas coisinhas que acontecem quando temos variáveis diferentes ao nosso Portal!</p>
<p>Nesta ocasião o Portal será exposto na Internet, e usuários com permissão somente leitura irão acessar o Portal.</p>
<p>Nos primeiros testes tudo Ok, mas algumas páginas usam determinados recursos que precisam de permissão elevada para rodar.</p>
<p><b><font color="#f79646">ERRO:</font></b></p>
<p><b>Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.</b></p>
<p><b></b></p>
<p>Ao tentar usar uma funcionalidade bem simples, como SPWeb.Webs, a excetion acima é gerada.</p>
<p><b><font color="#f79646">SOLUÇÃO:</font></b></p>
<p>Para solucionar o problema podemos forçar nosso código para rodar com permissões elevadas. O SharePoint nos ajuda com isso com o método:</p>
<p><a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx">http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx</a> &#8211; SPSecurity.RunWithElevatedPrivileges Method</p>
<p>public static void RunWithElevatedPrivileges(</p>
<p>SPSecurity..::..CodeToRunElevated secureCode)</p>
<p>Então basta instanciar nossos objetos usando este método! Algo assim:</p>
<pre class="csharpcode">SPSecurity.RunWithElevatedPrivileges(<span class="kwrd">delegate</span>()

{

<span class="kwrd">using</span> (SPSite site = <span class="kwrd">new</span> SPSite(web.Site.ID))

{

<span class="rem">// seu código aqui!</span>

}

});</pre>
<p>Seu código irá rodar com a conta do Application Pool, a qual possui permissões de SiteCollection Administrator em todas as sitecollections hospedadas nessa Application Pool.</p>
<p>Abraço!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagottss.wordpress.com/575/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagottss.wordpress.com/575/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagottss.wordpress.com/575/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagottss.wordpress.com/575/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagottss.wordpress.com/575/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagottss.wordpress.com/575/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagottss.wordpress.com/575/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagottss.wordpress.com/575/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagottss.wordpress.com/575/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagottss.wordpress.com/575/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagottss.wordpress.com/575/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagottss.wordpress.com/575/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagottss.wordpress.com/575/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagottss.wordpress.com/575/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=575&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagottss.com.br/2011/11/07/unable-to-evaluate-expression-because-the-code-is-optimized-or-a-native-frame-is-on-top-of-the-call-stack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c2ba284cd918d2dd450b3ca24e2fc4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagottss</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2011/11/wlemoticon-smile.png" medium="image">
			<media:title type="html">Alegre</media:title>
		</media:content>
	</item>
		<item>
		<title>DateTimeControl customizado n&#227;o carrega estilo</title>
		<link>http://thiagottss.com.br/2011/10/05/datetimecontrol-customizado-no-carrega-estilo/</link>
		<comments>http://thiagottss.com.br/2011/10/05/datetimecontrol-customizado-no-carrega-estilo/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 22:17:55 +0000</pubDate>
		<dc:creator>Thiago Silva</dc:creator>
				<category><![CDATA[SharePoint - Tips & Tricks]]></category>
		<category><![CDATA[SharePoint - TroubleShoothing]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[WebPart]]></category>

		<guid isPermaLink="false">https://thiagottss.wordpress.com/2011/10/05/datetimecontrol-customizado-no-carrega-estilo/</guid>
		<description><![CDATA[Olá! Cenário: Desenvolvendo soluções customizadas para o SharePoint é bem comum utilizar o DateTimeControl (controle do SharePoint) para usuários selecionarem datas em nossos formulários. Em determinadas situações o calendário não renderiza corretamente. Ele não carrega o estilo e fica bem feio. ERRO: Vejam como o calendário fica nessas situações: SOLUÇÃO: Para solucionar o problema devemos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=573&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá! <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://thiagottss.files.wordpress.com/2011/10/wlemoticon-smile.png?w=600" /></p>
<p><b><font color="#f79646">Cenário:</font></b></p>
<p>Desenvolvendo soluções customizadas para o SharePoint é bem comum utilizar o DateTimeControl (controle do SharePoint) para usuários selecionarem datas em nossos formulários.</p>
<p>Em determinadas situações o calendário não renderiza corretamente. Ele não carrega o estilo e fica bem feio.</p>
<p><b><font color="#f79646">ERRO:</font></b></p>
<p>Vejam como o calendário fica nessas situações:</p>
<p><a href="http://thiagottss.files.wordpress.com/2011/10/clip_image002.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;margin:0;" title="clip_image002" border="0" alt="clip_image002" src="http://thiagottss.files.wordpress.com/2011/10/clip_image002_thumb.jpg?w=244&h=206" width="244" height="206" /></a></p>
<p><b><font color="#f79646">SOLUÇÃO:</font></b></p>
<p>Para solucionar o problema devemos alterar a página encarregada por renderizar o calendário. No SharePoint, encontramos essa página no caminho:</p>
<p>C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS</p>
<p><a href="http://thiagottss.files.wordpress.com/2011/10/clip_image004.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="clip_image004" border="0" alt="clip_image004" src="http://thiagottss.files.wordpress.com/2011/10/clip_image004_thumb.jpg?w=644&h=454" width="644" height="454" /></a></p>
<p>Edite a página <b>iframe.aspx</b> e insira uma referência para carregar o arquivo CSS responsável por aplicar o estilo do calendário.</p>
<p>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot;href=&quot;/_layouts/1046/styles/datepickerv4.css&quot;/&gt;</p>
<p><b>NOTA</b>: altere o <b>1046</b> para idioma do seu SharePoint. (Ex: 1046 – PT-BR, 1033 – EN-US)</p>
<p>O arquivo ficará parecido com o seguinte:</p>
<p><a href="http://thiagottss.files.wordpress.com/2011/10/clip_image006.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="clip_image006" border="0" alt="clip_image006" src="http://thiagottss.files.wordpress.com/2011/10/clip_image006_thumb.jpg?w=644&h=332" width="644" height="332" /></a></p>
<p>Salve o arquivo e clique no calendário para ver que ele irá carregar o estilo! <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://thiagottss.files.wordpress.com/2011/10/wlemoticon-smile.png?w=600" /></p>
<p><a href="http://thiagottss.files.wordpress.com/2011/10/clip_image008.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="clip_image008" border="0" alt="clip_image008" src="http://thiagottss.files.wordpress.com/2011/10/clip_image008_thumb.jpg?w=244&h=224" width="244" height="224" /></a></p>
<p>Abraço!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagottss.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagottss.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagottss.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagottss.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagottss.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagottss.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagottss.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagottss.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagottss.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagottss.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagottss.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagottss.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagottss.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagottss.wordpress.com/573/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=573&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagottss.com.br/2011/10/05/datetimecontrol-customizado-no-carrega-estilo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c2ba284cd918d2dd450b3ca24e2fc4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagottss</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2011/10/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2011/10/clip_image002_thumb.jpg" medium="image">
			<media:title type="html">clip_image002</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2011/10/clip_image004_thumb.jpg" medium="image">
			<media:title type="html">clip_image004</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2011/10/clip_image006_thumb.jpg" medium="image">
			<media:title type="html">clip_image006</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2011/10/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2011/10/clip_image008_thumb.jpg" medium="image">
			<media:title type="html">clip_image008</media:title>
		</media:content>
	</item>
		<item>
		<title>Unable to retrieve external data for the following connections: The data sources may be unreachable, may not be responding, or may have denied you access</title>
		<link>http://thiagottss.com.br/2011/09/19/unable-to-retrieve-external-data-for-the-following-connections-the-data-sources-may-be-unreachable-may-not-be-responding-or-may-have-denied-you-access/</link>
		<comments>http://thiagottss.com.br/2011/09/19/unable-to-retrieve-external-data-for-the-following-connections-the-data-sources-may-be-unreachable-may-not-be-responding-or-may-have-denied-you-access/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 15:25:39 +0000</pubDate>
		<dc:creator>Thiago Silva</dc:creator>
				<category><![CDATA[SharePoint - TroubleShoothing]]></category>
		<category><![CDATA[Excel Services]]></category>
		<category><![CDATA[MOSS 2007]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">https://thiagottss.wordpress.com/2011/09/19/unable-to-retrieve-external-data-for-the-following-connections-the-data-sources-may-be-unreachable-may-not-be-responding-or-may-have-denied-you-access/</guid>
		<description><![CDATA[Olá! Cenário: Usando o Excel Services, no SharePoint 2007, para visualizar planilhas Excel no browser e conectadas com fontes de dados externas. A planilha carrega no browser tudo certo, mas ao solicitar a atualização das informações “Refresh” na fonte de dados, o SharePoint exibe um erro. ERRO: “Unable to retrieve external data for the following [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=561&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá! <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://thiagottss.files.wordpress.com/2011/09/wlemoticon-smile1.png?w=600" /></p>
<p><b><font color="#f79646">Cenário:</font></b></p>
<p>Usando o Excel Services, no SharePoint 2007, para visualizar planilhas Excel no browser e conectadas com fontes de dados externas. A planilha carrega no browser tudo certo, mas ao solicitar a atualização das informações “Refresh” na fonte de dados, o SharePoint exibe um erro.</p>
<p><b><font color="#f79646">ERRO:</font></b></p>
<p><b>“Unable to retrieve external data for the following connections: The data sources may be unreachable, may not be responding, or may have denied you access. Verify the data refresh is enabled for the trusted file location and that the workbook data authentication is correctly set.”</b></p>
<p><b></b></p>
<p>Todas as configurações no Excel Services foram verificadas e estão corretas, como Trust File Locations e Trust Data Providers.</p>
<p><b><font color="#f79646">SOLUÇÃO:</font></b></p>
<p>Para solucionar o problema temos um fator muito importante que vai determinar a resolução:</p>
<p>· <b>Servidor SharePoint e DataSources estão no mesmo servidor</b>; ou </p>
<p>· Servidor SharePoint e DataSources são servidores separados.</p>
<p>Neste post vou detalhar a solução do primeiro caso, quando os servidores são o <b>mesmo</b>.</p>
<p>Para solucionar o problema devemos alterar uma configuração do Shared Services Provider para que o Excel Services use o modo <i>Delegation</i> de acesso. Para isso, usamos o seguinte comando usando a ferramenta de gerenciamento do SharePoint, <b>STSADM</b>.</p>
<p><b>Stsadm –o set-ecssecutiry –accessmodel delegation –ssp NomeSSP</b></p>
<p><b>Stsadm –o execadmsvcjobs</b></p>
<p><b>Iisreset</b></p>
<p><b>NOTA:</b> Esta opção só deve ser executada se o servidor SharePoint e o servidor onde estão os dados (DataSource) forem o mesmo servidor!</p>
<p>Com isso o Excel Services agora consegue encaminhar as credenciais do usuários para a fonte de dados sem problemas, conseguindo assim, atualizar as informações.</p>
<p>Para a outra configuração, onde os servidores SharePoint e Datasources são diferentes, devemos configurar o método de autenticação do SharePoint para Kerberos, e aí as coisas ficam um pouco mais complicadas: <a href="http://blogs.msdn.com/b/martinkearn/archive/2007/04/23/configuring-kerberos-for-sharepoint-2007-part-1-base-configuration-for-sharepoint.aspx">http://blogs.msdn.com/b/martinkearn/archive/2007/04/23/configuring-kerberos-for-sharepoint-2007-part-1-base-configuration-for-sharepoint.aspx</a>. </p>
<p>Abraço!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thiagottss.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thiagottss.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thiagottss.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thiagottss.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thiagottss.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thiagottss.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thiagottss.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thiagottss.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thiagottss.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thiagottss.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thiagottss.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thiagottss.wordpress.com/561/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thiagottss.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thiagottss.wordpress.com/561/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thiagottss.com.br&#038;blog=16117828&#038;post=561&#038;subd=thiagottss&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thiagottss.com.br/2011/09/19/unable-to-retrieve-external-data-for-the-following-connections-the-data-sources-may-be-unreachable-may-not-be-responding-or-may-have-denied-you-access/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c2ba284cd918d2dd450b3ca24e2fc4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">thiagottss</media:title>
		</media:content>

		<media:content url="http://thiagottss.files.wordpress.com/2011/09/wlemoticon-smile1.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>
	</item>
	</channel>
</rss>
