Pergunta

Qual é a melhor maneira de combinar conjuntos de resultados de fontes de dados diferentes no SSRS?

No meu exemplo específico, preciso escrever um relatório que extraia dados do SQL Server e os combine com outro conjunto de dados proveniente de um banco de dados DB2.No final, preciso unir esses conjuntos de dados separados para ter um conjunto de dados combinado com dados de ambas as fontes combinados nas mesmas linhas.(Como uma junção interna se ambas as tabelas vierem do mesmo banco de dados SQL).Eu sei que você não pode fazer isso "pronto para usar" no SSRS 2005.Não estou animado em ter que extrair os dados para uma tabela temporária na minha caixa SQL porque os usuários precisam ser capazes de executar este relatório sob demanda e parece que ter que usar o SSIS para colocar os dados na tabela sob demanda será lento e difícil de gerenciar com vários usuários tentando acessar o relatório simultaneamente.Existem outras soluções mais elegantes por aí?

Eu sei que a solução de servidor vinculado mencionada abaixo funcionaria tecnicamente, porém, por algum motivo, nossos DBAs simplesmente não nos permitirão usar servidores vinculados.

Sei que você pode adicionar dois conjuntos de dados diferentes a um relatório, mas preciso poder juntá-los.Alguém tem alguma idéia sobre a melhor forma de conseguir isso?

Foi útil?

Solução

Tivemos que fazer algo semelhante (ou seja,inner join 2 fontes de dados de servidores diferentes).Acredito que a melhor maneira é escrever sua própria extensão de dados personalizada.Não é muito difícil e lhe daria a capacidade de fazer isso e muito mais.

Outras dicas

Você poderia adicionar o banco de dados DB2 como um servidor vinculado no sql server e apenas juntar as duas tabelas em uma view/sproc no sql.Já consegui, não é difícil e você obterá dados em tempo real.

Você poderia criar um servidor vinculado que acessaria o banco de dados diretamente ou, se não quisesse sobrecarregar o banco de dados durante o horário comercial, poderia criar um trabalho para copiar os dados necessários durante a noite.

O SSRS 2005 permite que você tenha vários conjuntos de dados para um relatório.Cada conjunto de dados pode se referir a uma fonte de dados diferente, um pode vir de um banco de dados SQL, outro pode ser uma fonte ODBC, etc.

Na visualização do designer de relatórios no Visual Studio, vá para a guia “Dados” e adicione novas fontes de dados apontando para seus diferentes bancos de dados.Quando terminar, ao projetar o relatório para cada elemento, você deverá especificar explicitamente de qual conjunto de dados os dados vêm.

Se o acima não funcionar, você pode escrever código gerenciado, consulte http://msdn.microsoft.com/en-us/msdntv/cc540036.aspx para mais informações e vídeos úteis.

Você pode anexar as tabelas MSSQL e DB2 a um banco de dados Jet e vincular seu relatório ao banco de dados Jet.Não sei as implicações da natureza de thread único do Jet ou quanto trabalho seria delegado às lojas de apoio.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top