Crystal report - fica pedindo senha na hora de gerar relatório
Olá amigos, criei visualmente o relatorio com crystal report e agora toda vez que chamo ele, ele me pede a senha do banco de dados. Como posso fazer com que isso nao ocorra?
Ah, outra duvida eh: minha aplicao eh click once. Entao como distribui-la? preciso de algo especial para que as pessoas ao acessarem a aplicacao no servidor ela atualize?
Grato.
Ah, outra duvida eh: minha aplicao eh click once. Entao como distribui-la? preciso de algo especial para que as pessoas ao acessarem a aplicacao no servidor ela atualize?
Grato.
Cleber Filho
Curtidas 0
Respostas
[devmedia .net]
12/02/2009
Olá, beleza Cléber ?
Vamos tentar resolver seu problema de primeira... hehehe
Esse problema no Crystal é comum e simples de resolver...
Solução: Refereciar novamente o DataSet, mostrado o mais novo caminho.
1- Clique com o botão direito em "DataBase Fields" no "Field Explorer",
2- Clique em "Verify DataBase" - No menu Pop-Up que irá aparecer,
3- A seguir normalmente ele emitirá a mensagem dizendo que o banco de dados está levantado:
"The DataBase is UP date"
4- Se ele realmente tiver perdido o arquivo, ele simplesmente mostrará uma janela pedindo para que você mostre novamente o caminho, e pronto! Fiz um artigo a um tempo sobre o ClickOnce, veja..
Um aplicativo do ClickOnce Vamos criar um aplicativo simples do ClickOnce seguindo estas etapas. Inicie o Visual Studio 2005. Selecione File (Arquivo) e clique em New Project (Novo projeto). Escolha um idioma (C# ou Visual Basic .NET) e selecione Windows Application (Aplicativo do Windows). Dê ao projeto o nome MyClickOnceApp e clique em OK. Adicione um botão ao formulário e altere sua propriedade Text para About. Clique duas vezes no botão. Na janela de código, insira o código a seguir. Visual Basic .NET: MsgBox("My First ClickOnce Application") C#: MessageBox.Show("My First ClickOnce Application"); Pressione F5 para executar e testar o aplicativo. Todos os aplicativos do Windows sob o Visual Studio 2005 têm uma página Publish (Publicar) sob Project | MyClickOnceApp Properties (Projeto | Propriedades de MyClickOnceApp) para controlar detalhes da implantação:
Figura 1. Definindo as configurações de publicação Publishing Location (Local de publicação) indica o local a partir do qual o aplicativo será implantado. Pode ser um local em um servidor Web (HTTP), como mostrado acima, mas também pode ser um caminho de rede regular. Install Mode and Settings (Modo de instalação e configurações) controla diversos detalhes da implantação, como: Se o aplicativo estará disponível online apenas ou também offline. Application Files (Arquivos do aplicativo): o local onde os arquivos individuais serão instalados. Prerequisites (Pré-requisitos): o local onde o programa de instalação deve instalar outros componentes, como Windows Installer 2.0, .NET Framework 2.0, J# Redistributable Package, SQL Server 2005 Express, Crystal Reports e Microsoft Data Access Components 2.8.
Figura 2. Configurando os pré-requisitos Updates (Atualizações): controla quando o aplicativo deve verificar se existem atualizações e como elas serão transferidas para o cliente.
Figura 3. Configurando as atualizações Options (Opções): ajusta detalhes como o idioma do aplicativo, o nome do recurso no menu Iniciar, a página HTML usada para a implantação na Web e o tíquete da diretiva de implantação.
Figura 4. Configurando as opções de publicação Publish Version (Versão da publicação) ajusta o número de versão do aplicativo; ele pode ser aumentado automaticamente em cada implantação. Publish Wizard (Assistente de publicação) permite configurar várias opções de publicação. Este assistente também é chamado pelo menu Build | Publish (Compilar | Publicar). Todos os aplicativos do ClickOnce devem ter assinatura criptografada; o assistente solicita uma chave existente (recomendável) ou pode gerar uma nova
Figura 5. Assinando seu aplicativo Depois de executar o assistente uma vez, você pode clicar em Publish Now (Publicar agora) para publicar atualizações. Em nosso exemplo, será mostrada uma página da Web.
Figura 6. Aplicativo publicado Esta página da Web contém um script que verifica qual pacote de pré-requisitos extra precisa ser instalado antes da instalação de nosso aplicativo. Se algum pré-requisito não estiver presente, ele será instalado na primeira vez em que o aplicativo for executado. Depois que o usuário clicar no link Install (Instalar), várias caixas de diálogo poderão exigir a intervenção do usuário, pelo menos na primeira vez em que ele for executado: Avisos do Windows XP SP2 Contratos de licenças de software Falta de verificação da assinatura do editor
Detalhes da implantação O Visual Studio .NET 2005 criará uma nova Web para nosso aplicativo, com vários arquivos e pastas.
Figura 7. Pastas da implantação A pasta dotnetfx contém o redistribuível do .NET Framework, atualmente um executável de 25 MB. Por padrão, o Visual Studio aumentará o número da versão sempre que o aplicativo for implantado; cada versão receberá uma nova pasta com o número de versão maior correspondente. O arquivo .application é o destino do link mostrado na página HTML publish.htm. Ele é um arquivo XML que contém informações, como a pasta correspondente à versão atual do aplicativo e as assinaturas digitais. Publish.htm é uma página da Web que contém não só o link para o arquivo .application, mas também um script de cliente que faz a mesma verificação de versão e mostra as mensagens apropriadas. Por exemplo, se o seu computador não tiver o .NET Framework, a mensagem mostrada sob Install MyClickOnceApp (Instalar MyClickOnceApp) será diferente. O Setup.exe é um executável Win32 capaz de instalar não apenas o seu aplicativo, como também todos os componentes necessários, como o próprio .NET Framework e o MDAC 2.8 na ordem correta. Cada pasta do aplicativo contém os arquivos do aplicativo e também um arquivo de manifesto. O manifesto é um arquivo XML com, basicamente, as seguintes informações: A identidade precisa de todos os arquivos do aplicativo. Essa identidade compreende o nome do arquivo, o número da versão, a cultura e a arquitetura de processador ("msil", em nosso caso). Todas as permissões que o aplicativo requer. Assinaturas digitais. Executando o aplicativo Após baixado o aplicativo, você pode executá-lo sem precisar baixá-lo novamente. Em nosso exemplo, o aplicativo pode ser iniciado clicando-se no link para a página da Web ou no atalho do menu Iniciar. Em ambos os casos, a existência de uma nova versão é verificada de acordo com as configurações das opções do projeto Application Updates (Atualizações de aplicativo). É baixada uma nova versão, se necessário. Para verificar esse recurso de atualização, execute o seguinte procedimento: Faça uma alteração visível no aplicativo, como na localização do botão da parte inferior do formulário. Compile-o e implante-o novamente. Execute o aplicativo e verifique o processo de download.
Espero ter ajudado...
Aguardo retorno para fechamento do chamado..
Abraços
Carlos Jr
1- Clique com o botão direito em "DataBase Fields" no "Field Explorer",
2- Clique em "Verify DataBase" - No menu Pop-Up que irá aparecer,
3- A seguir normalmente ele emitirá a mensagem dizendo que o banco de dados está levantado:
"The DataBase is UP date"
4- Se ele realmente tiver perdido o arquivo, ele simplesmente mostrará uma janela pedindo para que você mostre novamente o caminho, e pronto! Fiz um artigo a um tempo sobre o ClickOnce, veja..
Um aplicativo do ClickOnce Vamos criar um aplicativo simples do ClickOnce seguindo estas etapas. Inicie o Visual Studio 2005. Selecione File (Arquivo) e clique em New Project (Novo projeto). Escolha um idioma (C# ou Visual Basic .NET) e selecione Windows Application (Aplicativo do Windows). Dê ao projeto o nome MyClickOnceApp e clique em OK. Adicione um botão ao formulário e altere sua propriedade Text para About. Clique duas vezes no botão. Na janela de código, insira o código a seguir. Visual Basic .NET: MsgBox("My First ClickOnce Application") C#: MessageBox.Show("My First ClickOnce Application"); Pressione F5 para executar e testar o aplicativo. Todos os aplicativos do Windows sob o Visual Studio 2005 têm uma página Publish (Publicar) sob Project | MyClickOnceApp Properties (Projeto | Propriedades de MyClickOnceApp) para controlar detalhes da implantação:
Figura 1. Definindo as configurações de publicação Publishing Location (Local de publicação) indica o local a partir do qual o aplicativo será implantado. Pode ser um local em um servidor Web (HTTP), como mostrado acima, mas também pode ser um caminho de rede regular. Install Mode and Settings (Modo de instalação e configurações) controla diversos detalhes da implantação, como: Se o aplicativo estará disponível online apenas ou também offline. Application Files (Arquivos do aplicativo): o local onde os arquivos individuais serão instalados. Prerequisites (Pré-requisitos): o local onde o programa de instalação deve instalar outros componentes, como Windows Installer 2.0, .NET Framework 2.0, J# Redistributable Package, SQL Server 2005 Express, Crystal Reports e Microsoft Data Access Components 2.8.
Figura 2. Configurando os pré-requisitos Updates (Atualizações): controla quando o aplicativo deve verificar se existem atualizações e como elas serão transferidas para o cliente.
Figura 3. Configurando as atualizações Options (Opções): ajusta detalhes como o idioma do aplicativo, o nome do recurso no menu Iniciar, a página HTML usada para a implantação na Web e o tíquete da diretiva de implantação.
Figura 4. Configurando as opções de publicação Publish Version (Versão da publicação) ajusta o número de versão do aplicativo; ele pode ser aumentado automaticamente em cada implantação. Publish Wizard (Assistente de publicação) permite configurar várias opções de publicação. Este assistente também é chamado pelo menu Build | Publish (Compilar | Publicar). Todos os aplicativos do ClickOnce devem ter assinatura criptografada; o assistente solicita uma chave existente (recomendável) ou pode gerar uma nova
Figura 5. Assinando seu aplicativo Depois de executar o assistente uma vez, você pode clicar em Publish Now (Publicar agora) para publicar atualizações. Em nosso exemplo, será mostrada uma página da Web.
Figura 6. Aplicativo publicado Esta página da Web contém um script que verifica qual pacote de pré-requisitos extra precisa ser instalado antes da instalação de nosso aplicativo. Se algum pré-requisito não estiver presente, ele será instalado na primeira vez em que o aplicativo for executado. Depois que o usuário clicar no link Install (Instalar), várias caixas de diálogo poderão exigir a intervenção do usuário, pelo menos na primeira vez em que ele for executado: Avisos do Windows XP SP2 Contratos de licenças de software Falta de verificação da assinatura do editor
Detalhes da implantação O Visual Studio .NET 2005 criará uma nova Web para nosso aplicativo, com vários arquivos e pastas.
Figura 7. Pastas da implantação A pasta dotnetfx contém o redistribuível do .NET Framework, atualmente um executável de 25 MB. Por padrão, o Visual Studio aumentará o número da versão sempre que o aplicativo for implantado; cada versão receberá uma nova pasta com o número de versão maior correspondente. O arquivo .application é o destino do link mostrado na página HTML publish.htm. Ele é um arquivo XML que contém informações, como a pasta correspondente à versão atual do aplicativo e as assinaturas digitais. Publish.htm é uma página da Web que contém não só o link para o arquivo .application, mas também um script de cliente que faz a mesma verificação de versão e mostra as mensagens apropriadas. Por exemplo, se o seu computador não tiver o .NET Framework, a mensagem mostrada sob Install MyClickOnceApp (Instalar MyClickOnceApp) será diferente. O Setup.exe é um executável Win32 capaz de instalar não apenas o seu aplicativo, como também todos os componentes necessários, como o próprio .NET Framework e o MDAC 2.8 na ordem correta. Cada pasta do aplicativo contém os arquivos do aplicativo e também um arquivo de manifesto. O manifesto é um arquivo XML com, basicamente, as seguintes informações: A identidade precisa de todos os arquivos do aplicativo. Essa identidade compreende o nome do arquivo, o número da versão, a cultura e a arquitetura de processador ("msil", em nosso caso). Todas as permissões que o aplicativo requer. Assinaturas digitais. Executando o aplicativo Após baixado o aplicativo, você pode executá-lo sem precisar baixá-lo novamente. Em nosso exemplo, o aplicativo pode ser iniciado clicando-se no link para a página da Web ou no atalho do menu Iniciar. Em ambos os casos, a existência de uma nova versão é verificada de acordo com as configurações das opções do projeto Application Updates (Atualizações de aplicativo). É baixada uma nova versão, se necessário. Para verificar esse recurso de atualização, execute o seguinte procedimento: Faça uma alteração visível no aplicativo, como na localização do botão da parte inferior do formulário. Compile-o e implante-o novamente. Execute o aplicativo e verifique o processo de download.
Espero ter ajudado...
Aguardo retorno para fechamento do chamado..
Abraços
Carlos Jr
GOSTEI 0
Cleber Filho
12/02/2009
Super Carlos, tentei o esquema do verify database e apareceu "... up date" porém na pratica continuo o mesmo. Sobre o click once, eu vi ali que tem a opcao de adicionar o crystal reports. Foi fazer isso. Ja utilizo a instalacao click once. POrem de forma amadora. Valeu amigo!!!! Vou orecisar resolver a parte do login quando abro o relatorio.
GOSTEI 0
[devmedia .net]
12/02/2009
Oi Cléber,
o problema do login não tem outra solução a não ser atualizar a base de dados,
que é isso que está errado , você tem que seguir os passos que te falei,
pois o Crystal não tem muito com isso, ele apenas a apresenta os dados contindos no dataset,
portanto você deve mexer na conexão do dataset , não sei como fez a conexão mas a solução pra quando o crystal pede senha é isso, ele perde a referência do dataset...
Isso acontece pq vc precisa passar para o report as suas credencials do BD.
Tente usar assim:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim vUsuariodb As String = "usuario" Dim vSenhadb As String = "senha" CrystalReportSource1.ReportDocument.SetDatabaseLogon(vUsuariodb, vSenhadb) End Sub Existe outra maneira também, coloque isso dentro do método que chama seu dataset System.Data.DataSet oDataSet;
System.Data.DataRow Linha;
oDataSet = new DatasetRelatorioProdutos(); // Seu método que retorna os dados
RelatorioProduto reportDocument = new RelatorioProduto();
reportDocument.SetDataSource(oDataSet);
VisualizadorRelatorio.ReportSource = reportDocument;
Abraços, e aguardo seu retorno !! Carlos Jr
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim vUsuariodb As String = "usuario" Dim vSenhadb As String = "senha" CrystalReportSource1.ReportDocument.SetDatabaseLogon(vUsuariodb, vSenhadb) End Sub Existe outra maneira também, coloque isso dentro do método que chama seu dataset System.Data.DataSet oDataSet;
System.Data.DataRow Linha;
oDataSet = new DatasetRelatorioProdutos(); // Seu método que retorna os dados
RelatorioProduto reportDocument = new RelatorioProduto();
reportDocument.SetDataSource(oDataSet);
VisualizadorRelatorio.ReportSource = reportDocument;
Abraços, e aguardo seu retorno !! Carlos Jr
GOSTEI 0
Cleber Filho
12/02/2009
Super Carlos, mais uma vez vou te abusar. Olha só. Deu certo o lance de colocar a senha da base de dados novamente: crReportDocument.SetDatabaseLogon("database", "password"). Funcionou beleza. Resolvido. Agora, o problema que apareceu não consegui entender. Veja só com está a aplicacao: passo01 - antes de chamar o form que possui o crystalreportviewer com o relatorio, eu monto no forma anterior um dataset com minha selecao de dados. Ai, passo para este form que tem o relatorio o dataset que montei no form anterior. Porem, independente de como eu passe este dataset o meu relatorio obedece apenas ao modelo criado na montagem do relatorio, ou seja, ele ignora completamente o dataset que estou passando para ele. E olhe que na página do relatorio, eu carrego o relatorio com o dataset que acabei de receber: ---------------------------------------- crReportDocument.SetDataSource(dataset) // CrystalReportViewer1.ReportSource = crReportDocument -------------------------- Vc pode me ajudar? Abraços e obrigado novamente.
GOSTEI 0
[devmedia .net]
12/02/2009
Fala Cléber,
você verificou se o dataset está com dados mesmo ?
Verifique utilizando o debug e veja se tem dados no dataset..
Outra coisa, já que está passando o dataset na mão verifique se o relatório não está ligado a nenhum outro dataset, isso pode dar problemas também.
Verifique e me retorne,
Abraços
Carlos Jr
GOSTEI 0
[devmedia .net]
12/02/2009
Opa blz ?
Aguardo seu retorno para darmos continuidade ao atendimento
ou fechamento do chamado.
Abraços
Carlos Jr
GOSTEI 0
Cleber Filho
12/02/2009
Salve Carlos. Olha só. Vou verificar isso hoje a noite e te retorno ok? Abrcs.
GOSTEI 0
[devmedia .net]
12/02/2009
Opa, blz ?
Estou aguardando seu contato..
Grande Abraço
Carlos Jr
GOSTEI 0
Cleber Filho
12/02/2009
Salve Carlos,
como foi de carnaval? acabei de voltar por isso fiquei sem resposta. Seguinte, nao estava passando dados no dataset pq havia esquecido de completar com .tables(0). Agora funcionou!!! abraços e obrigado.
GOSTEI 0
Wennder Santos
12/02/2009
Olá, ressuscitando o tópico.
Estou com o mesmo problema, uso um dataset para carregar informações que serão exibidas no relatório, mas, a mensagem "falha de logon no banco de dados" aparece quando eu executo o projeto, já fiz o que você disse "Verify database" e ele me retorna que o banco está atualizado. Já tentei muita coisa hehe, tem alguma idéia?
obrigado
Estou com o mesmo problema, uso um dataset para carregar informações que serão exibidas no relatório, mas, a mensagem "falha de logon no banco de dados" aparece quando eu executo o projeto, já fiz o que você disse "Verify database" e ele me retorna que o banco está atualizado. Já tentei muita coisa hehe, tem alguma idéia?
obrigado
GOSTEI 0