Bom dia amigos. Tenho uma pergunta para fazer.
Tenho em meu sistema vários relatórios com Crystal Report. Porem a algum tempo tenho algumas duvidas sobre como trabalhar com o Crystal Report. Já vi varios videos ensinando a fazer impressão com Crystal Report mas em nenhum deles explica como é feita a autenticação do sistema com o banco de dados. Ai as minhas duvidas.
Bom vou explicar como eu faço e se alguém tiver uma sugestão melhor ficaria muito grato.
EXEMPLO: Cadastro de Funcionários.
No form tem os dados do cadastro, um DataGridViwer que recebe os dados da consulta do cadastro selecionado. E um botão de imprimir. Este botão abre o crystal Report que apresenta os dados do DataGrid.
O código é assim:
Dim dv As DataView = New DataView()
Dim dt As New DataTable
Dim R As New CRP_Print_Form '' nome do formulario
Dim cr As New CRP_CF_Beneficios2 ''nome do crystal report
dv = DirectCast(DataGrid_Dados_Report.DataSource, DataView) ''crio uma DataView com os dados da DataSource da DataGrid_dados
dt = dv.ToTable().Clone() ''clona a estrutura da DataView para a DataTable dt
For Each dr In dv.ToTable().Select() ''percorre as rows da DataView e selecciona a actual
dt.ImportRow(dr) ''importa cada row para a DataTable dt
Next
cr.SetDataSource(dt)
R.CRP_Documents.ReportSource = cr ''nome do crystal report viewer
R.ShowDialog()
Até aqui funciona perfeitamente se o Crystal Report tiver apenas uma tabela do banco de dados.
Porem meu sistema trabalha com segregação de empresas. Ou seja o sistema pode ter varias empesas cadastradas. E cada empresa tem um cabeçalho diferente.
Então eu em cadas Crystal Report tem pelo menos 2 tabelas anexadas, sendo uma do Cadastro de Empresa e outra dos Dados em questão. Assim quando um usuário logar no sistema seja de qualquer empresa o cabeçalho do formulário é alterado automaticamente.
Eu entendo que a autenticação do Windows é feita pelo Domínio AD (Active Directory) e se os computadores estiverem no mesmo domínio é possível fazer a autenticação integrada. Assim ao abrir o Crystal Report não é necessário colocar o usuário e senha do banco de dados.
Mas a minha questão é que na rede onde esta o sistema os computadores não estão em um domínio pois são computadores com windows 7, incluindo o servidor onde está o banco de dados. Então não da para fazer autenticação integrada então toda vez q alguém abre um Crystal Report é necessário colocar o usuário e senha do Banco de Dados.
Meu cenário:
01 servidor de Banco de Dados e aplicação - Windows 7
15 estações de trabalho na rede com windows 7
Como posso fazer o Crystal Report não pedir autenticação?
↧