Integrando Reporting Service com SGBD Oracle
Introdução
Podemos criar relatórios utilizando o Reporting Service, uma ferramenta totalmente compatível com o Visual Studio sendo disponibilizada juntamente com Sqlserver 7.0. Nesse artigo iremos construir Relatório utilizando o banco dados Oracle.
Tópicos Abordados
· Criando o Relatório
· Conexão com o Banco Dados
· Criando a conexão do banco no Reporting Service
· Criação de Parâmetros no SQL
· Layout do Relatório
· Criação de Parâmetros no Reporting Service
· Fazendo o Deploy para Servidor do Reporting Service
· Conclusão
Criando o Relatório
1 – Passo
Iremos abrir o Visual Studio Clicando em File, New, Project e selecionaremos a opção conforme a imagem.
2 – Passo
Após clicar no botão OK teremos a imagem abaixo
Conexão com o Banco Dados
1 – Passo
A partir da imagem anterior clicamos, selecionamos a pasta Reports e com o botão do esquerdo do mouse mandamos incluir um novo item do tipo reports ou podemos selecionar essa opção através de file, new, Project. Na parte de name colocamos um nome para o relatório.
2 – Passo
A partir desse tópico teremos a imagem abaixo, nesse momento devemos selecionar a opção New Dataset, com essa opção teremos uma caixa de dialogo que permite ligar nosso relatório na base de dados. Podemos então utilizar drivers de conexão Oledb e ODBC. Em nosso relatório iremos utilizar o driver de oledb do banco dados Oracle.
Criando a conexão do banco no Reporting Service
1 – Passo
Apartir dessa caixa de dialogo podemos então configurar nosso relatório com o banco de dados.
Vejamos as opções da caixa de Dialogo
· Provedor: Nessa aba podemos escolher o driver de conexão do tipo Oledb, nesse momento podemos especificar . Obs. Qdo instalamos o client do banco de dados o drive de conexão aparece nessa aba. Em nosso artigo iremos escolher o drive de conexão Oledb do banco dados Oracle.
· Conexão: Na aba conexão escolhemos a conexão do tipo Odbc . As conexões Odbc segue o mesmo padrão do Oledb é necessario a instalação do Client do banco de dados na maquina.
· Avançadas: Nessa aba podemos aumentar o tempo de limite de resposta no banco . Fazemos isso caso o nosso sql seja roubosto e desejamos assim um tempo maior para execução do mesmo e seu retorno no banco de dados.
· Todas: Nessa aba temos todas as informações da conexão com o banco de dados , informações do tipo : Maquina que está executando o aplicativo , Conection Time out que representa o tempo de conexão.
2 – Passo
Escolhemos nesse momento o driver de conexão com o banco de dados e na tela seguinte especificamos usuário e senha.
3 – Passo
Clicamos em OK, assim teremos a seguinte imagem abaixo. Nesse momento podemos digitar nosso SQL.
Observação: Podemos digitar o SQL ou chamar uma procedure.
Criação de Parâmetros no SQL
1 – Passo
Digitamos abaixo o código SQL para fazer a busca no banco de dados, podemos digitar o SQL ou utilizar stored procedures.
Observação: Caso desejamos utilizar a stored procedures, mudamos o campo command type para Stored Procedures. Após digitar o código SQL clique no botão Run. Ao clicarmos no botão run o SQL é rodado no banco e os dados são carregados no grid abaixo. Com isso podemos criar relatórios passando parâmetro.
Vejamos o exemplo abaixo:
No código SQL que digitamos abaixo passamos o parâmetro como um ponto de interrogação. Se estivéssemos utilizando stored procedures poderíamos passar os parâmetros dentro da procedures.
Layout do Relatório
1 – Passo
Iremos agora montar nosso layout do Relatório, para isso podemos clicar na aba layout e seguir os passos abaixo.
1.1 – Clicamos na toolbox e escolhemos os seguintes componentes Table, Page Header e Textbox.
Escolhendo esses componentes teremos o seguinte relatório conforme imagem abaixo.
1.2 – Criação de Parâmetros no Reporting Service
1.3- Para passarmos parâmetro como estamos passando nessa query é necessário entramos no layout e dentro do layout acessar a opção Reports Parameters.
Criação de Parâmetros no Reporting Service
1- Passo
Ao acessar a opção de Reports Parameters teremos a seguinte imagem abaixo. Para acessar bastamos clicar no menu Reports e escolher a opção de Reports Parameters. Nessa tela podemos especificar o tipo de dados do nosso parâmetro e especificar se o parâmetro pode ser nulo. Após essas configurações abaixo clicamos em botão Ok.
2 – Passo
Após criarmos o parâmetro no reporting service, clicamos em preview para visualizar o relatório conforme imagem abaixo.
Fazendo o Deploy do Relatório
1 – Passo
Nesse ponto iremos fazer o deploy desse relatório para o servidor da aplicações do reporting services. Quando fazemos o deploy do relatório conseguimos colocá-lo em rede para o acesso dos usuários.
Para acessar a opção de deploy entramos na configuração da solução de relatório que criamos através da aba Solution Explorer. Clicamos com o botão lado esquerdo do mouse e escolhemos a opção de propriedades. Nessa opção teremos a imagem abaixo, nessa tela informamos o servidor em que está instalado o Reporting Service conforme abaixo.
· TargetFolder: Representa o nome da pasta em que será feito o deploy para o servidor.
· TargetServerUrl: Representa o endereço de http onde está disponibilizado o Reporting Service.
Após essas configurações clicamos no botão Ok.
2 – Passo
Finalmente bastamos selecionar o relatório desejado e clicar na opção de deploy conforme imagem abaixo.
Conclusão
Abordamos uma criação bastante funcional de um relatório no reporting Service. Criamos um relatório utilizando o banco dados Oracle, utilizando parâmetros e fazendo o deploy desse relatório para servidor, permitindo assim disponibilizar o relatório em rede para os usuários. Abordamos o relatório de uma forma simples onde podemos acessar o reporting service para banco dados Oracle, como também SQL Server, Sybase, Db2. Essas conexões podem ser feitas por drivers de Oledb como ODBC. Abordamos em outro ponto a necessidade de utilização de parâmetros ao está digitando o código SQL no Reporting Service ou na utilização de stored procedures.
Fica como dica para próximo artigo, integrarmos o relatório do reporting service em uma aplicação web, utilizando a plataforma Aspnet.