You are currently browsing the monthly archive for outubro 2010.


Olhando o titulo vocês vão falar o que tem uma coisa a ver com a outra. Eu digo “TUDO”.

Se você tem uma maquina de desenvolvedor com um SQL Developer e quer usar o reporting services, você vai encontrar vários problemas até descobrir que o problema é o Skype.

O que acontece é que o Reporting por padrão usa porta 80 e 443, e o skype por algum motivo também as usa como alternativa, então o site do SSRS não sobe, mas também não dá noticia de que existe algo errado, cheguei até a instalar o Cumulative Update 4 do SQL 2008 R2.

Mas para resolver de verdade basta ir nas configurações do Skype e desativar a caixa

image


Estou aqui mais uma vez para compartilhar minhas experiencias, desta vez tive que criar um CustomAssembly (DLL) para usar dentro do SSRS 2008 R2, isto normalmente é bem simples de se fazer com os tutoriais, mas se você precisa fazer algo um pouco mais complexo como refenciar a DLL Windows.Forms você já vai precisar liberar algumas coisas a mais

Segue abaixo como fiz para criar a DLL que converte RTF para Texto limpo

OBS: Usei Visual Studio 2010 (.NET 4.0) para Criar Classe em C# mas compilando como (.NET 3.5) pois é o que o SSRS aceita.

  1. Crie um projeto do tipo Class Library

image

Segue abaixo Código, marquei em vermelho as 2 partes principais:

  • a primeira é obrigatória
  • a segunda ficou sendro obrigatório com o a referecia ao Windows.Forms, pois preciso fazer “Assert”, é como se eu estivesse dando uma permissão de uso da interface.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security;

[assembly:AllowPartiallyTrustedCallers]

namespace RTFtoText_WinComponent
{
/// <summary>
/// Classe usada no Reporting Services para limpeza de tags RTF para texto limpo
/// </summary>
public class RTFtoText
{
/// <summary>
/// Retorna texto ASCII de texto em RTF
/// </summary>
/// <param name=”TextoOriginal”>Texto origem</param>
/// <returns>Texto limpo</returns>
public static String GetTXTfromRTF(String TextoOriginal)
{
String retorno = “”;

System.Security.Permissions.UIPermission UIPermission = new System.Security.Permissions.UIPermission(System.Security.Permissions.PermissionState.Unrestricted);
UIPermission.Assert();

// Create the RichTextBox. (Requires a reference to System.Windows.Forms.dll.)
System.Windows.Forms.RichTextBox rtBox = new System.Windows.Forms.RichTextBox();
try
{
rtBox.Rtf = TextoOriginal;
retorno = rtBox.Text;
}
catch (Exception ex)
{
return TextoOriginal;
}

return retorno;

}

}

}

Não esquecer de mudar as propriedades do projeto colocando como framework 3.5

image

Compilado a DLL você precisa copiar a DLL para alguns lugares, já vi em blogs para se copiar para vários lugares inclusive o GAC. Mas é realmente necessário apenas 2 lugares

  • Business Intelligence Development Studio
    • C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies
  • Reporting Services
    • C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin

E para que o Reporting tenha permissão de usar esta DLL será necessário alterar os arquivos de configuração do Reporting

  • C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\RSPreviewPolicy.config

<CodeGroup
class=”UnionCodeGroup”
version=”1″
PermissionSetName=”FullTrust”
Name=”MyCustomAssemblyCodeGroup”
Description=”Code group forRTFtoText_WinComponent”>
<IMembershipCondition class=”UrlMembershipCondition”
version=”1″
Url=”C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\RTFtoText_WinComponent.dll”
/>
</CodeGroup>

  • C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\rssrvpolicy.config

<CodeGroup
class=”UnionCodeGroup”
version=”1″
PermissionSetName=”FullTrust”
Name=”MyCustomAssemblyCodeGroup”
Description=”Code group forRTFtoText_WinComponent”>
<IMembershipCondition class=”UrlMembershipCondition”
version=”1″
Url=”C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin\RTFtoText_WinComponent.dll”
/>
</CodeGroup>

No Reporting basta fazer a referencia a DLL

image

e usar na Expression

=RTFtoText_WinComponent.RTFtoText.GetTXTfromRTF(Fields!RTF.Value)

 

Esta pronto

image


Hoje estava analisando porque as planilhas não estavam fazendo refresh no sharepoint no meu ambiente de desenvolvimento.

Após algumas pesquisas descobri uma solução, como estava com problema aparentemente com o Unattended Account em determinado momento havia deletado o serviço e recriado (com outro nome). Acabaram ficando sujeira no SSAS do PowerPivot

Solução

  1. Pare a instancia o SSAS (no meu caso chamei de POWERPIVOT) NET STOP MSOLAP$POWERPIVOT
  2. Delete a pasta do SSAS, normalmente fica em: “C:\Program Files\Microsoft SQL Server\MSAS10_50.POWERPIVOT\OLAP\Data\”
  3. Delete a pasta do SSAS, normalmente fica em: “C:\Program Files\Microsoft SQL Server\MSAS10_50.POWERPIVOT\OLAP\Backup\Sandboxes\”
  4. Start the SSAS instance, via a NET START MSOLAP$POWERPIVOT

PRONTO

*Como configurar o Unattended Account do PowerPivot

http://msdn.microsoft.com/en-us/library/ff773327.aspx

 

Xupinhado do : http://powerpivotgeek.com/server-installation/reported-problems/#006


Olá pessoal, gostaria de compartilhar com vocês um BUG descoberto por mim no SSIS 2008 R2 (Ainda sem solução)

Esses dias estava em um cliente que tinha o SQL 2005 e migrou para SQL 2008 R2 e os pacotes ainda não haviam sido totalmente testados em ambiente de desenvolvimento.

Alguns dos pacotes simplesmente pararam de funcionar com a mensagem

Error at Data Flow Task [LINKED SERVER [1]]: No column information was returned by the SQL command.

Segue abaixo procedimentos para reproduzir o erro

Continue lendo »