none
Data source "dinâmico" RRS feed

  • Pergunta

  • Pessoal,

    Como já falei nos post anteriores, trabalho com duas empresas que (que possuem bancos de dados distintos) utilizam os mesmos relatórios, gostaria de saber como faço para passar o data source dinâmicamente ou mudar a string de conexão dinâmicante, enfim, algo do tipo, para que eu possa aproveitar o mesmo projeto. Alguma sugestão?

    Grato,
    Duan Brito - Analista de Sistemas/Programador
    quarta-feira, 21 de outubro de 2009 13:37

Respostas

  • Junior,

    Isso mesmo, quero alterar a string de conexão de acordo com a empresa que o usuário estiver logado. Estudei o assunto mais a fundo e descobri onde esta o problema, eu estava usando shared data sources e estes não aceitam expressões na string de conexão.

    A solução do post funciona, porém o data source tem que ser local, no próprio relatório.

    Att,
    Duan Brito - Analista de Sistemas/Programador
    • Marcado como Resposta Duan Brito terça-feira, 27 de outubro de 2009 11:59
    terça-feira, 27 de outubro de 2009 11:59

Todas as Respostas

  • Brito,

    Será que um parâmetro não ajuda!!!
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 21 de outubro de 2009 16:40
  • Junior,

    Não sei, como devo proceder? Me explique sua idéia.

    Grato,
    Duan Brito - Analista de Sistemas/Programador
    quarta-feira, 21 de outubro de 2009 17:29
  • Brito,

    Pensei na possibilidade de criar um parâmetro no seu relatório e através deste programa, onde a pessoa seleciona o parâmetro para buscar a imagem no banco.

    Mas não sei se isso funciona!!!!


    Sei lá foi uma ideia.

    Agora para cada empresa tem que ser uma imagem diferente?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 21 de outubro de 2009 18:54
  • Junior,

    Não cara, o problema da imagem é outro, que ainda vou testar com a susgestão que deram naquele post. Esse problema a que me refiro nesse post, independe do problema da imagem. Deixe-me ser mais claro.

    Em um projeto de relatórios você pode ter um ou mais DATA SOURCES, que farão a conexão com um banco de dados especificado na string de conexão.

    O meu problema é o seguinte, tenho a EMP01 que esta no banco de dados BD1 e tenho a EMP02 que esta no banco de dados BD2 , vamos supor que exista o relatório de contas à pagar ( que serve para as duas empresas, pois ambos os bancos tem a mesma estrutura), relatório este que se comunica com um DATA SET (DS1) que por sua vez se comunica com um DATA SOURCE (DSO1). Digamos que criei o DSO1 inicialmente conectado com o BD1. Gostaria de saber se existe alguma forma de mudar dinamicamente a string de conexão do DSO1 de acordo com a empresa que estiver solicitando o relatório.

    Att,
    Duan Brito - Analista de Sistemas/Programador
    quarta-feira, 21 de outubro de 2009 19:15
  • Pessoal,

    Achei um artigo interessante, que aparentemente resolvia o meu problema.

    http://www.beakersoft.co.uk/2008/06/22/setting-a-data-source-at-runtime-on-sql-reporting-services/#

    Porém quando coloquei a expressão e cliquei em OK, recebi a seguinte mensagem : Connection string expressions are not allowed in shared data sources

    Alguma sugestão?!

    Grato,
    Duan Brito - Analista de Sistemas/Programador
    segunda-feira, 26 de outubro de 2009 13:39
  • Brito,

    Baseando-se na mensagem de erro, a string de conexão não permite compartilhamento de data sources!!!

    Você esta tentando alterar a string de conexão em tempo de execução do relatório?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    segunda-feira, 26 de outubro de 2009 15:51
  • Junior,

    Isso mesmo, quero alterar a string de conexão de acordo com a empresa que o usuário estiver logado. Estudei o assunto mais a fundo e descobri onde esta o problema, eu estava usando shared data sources e estes não aceitam expressões na string de conexão.

    A solução do post funciona, porém o data source tem que ser local, no próprio relatório.

    Att,
    Duan Brito - Analista de Sistemas/Programador
    • Marcado como Resposta Duan Brito terça-feira, 27 de outubro de 2009 11:59
    terça-feira, 27 de outubro de 2009 11:59
  • Duan,

    Muito obrigado pelo retorno, então você tem que utilizar um DataSource Local e para cada empresa será um DataSource específico.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    terça-feira, 27 de outubro de 2009 12:15