CRYSTAL MYSQL

IRRV 03/12/2009 10:21:51
#329040
Bom Dia a todos...

Estou com o seguintre problema.
Mudei minha Base de Dados para o MySQL, e o sistema já esta rodando legalzinho...
Mas agora preciso trocar o provider dos relatorios no crystal pois estao todos feitos no MS SQL, porem quando vou buscar qual o provider quero usar não tem o do MySQL.

Bom blz....

Tentei acessar os dados pelo .NET OBJECTS pois estou uysando o Entity Framework, para acessar os dados e tenho todos os objetos prontos, mas quando faço isso, o crystal só enxerga os campos que estao como NOT NULL no Banco.

Preciso resolver isso URGENTE, pois ja conclui a migração do banco e agora não tem como emitir os relatorios...

No Aguardo
Igor
LEANDRO 03/12/2009 10:34:58
#329042
Resposta escolhida
VocÊ utiliza ODBC ?
ou
DataSet ?
IRRV 03/12/2009 10:44:21
#329045
Olá Leandro....

Estou usando o Entity Framework.
Mas nada impede de na hora de gerar o relatorio usar uma Conecção ODBC ou um DataSet.
Se for musar um DataSet nao sei nem por onde começar
LEANDRO 03/12/2009 11:17:00
#329047
Com ODBC é mais facil, porem não utilizo nenhum vinculo em meus projetos com ODBC ( ja me deu muita Dor de cabeça) com DataSet tentaei de Explicar.


Primeiro de um ADDItem em seu projeto e clique em DataSet, crie um DataSet identico aos campos da sua tabela ...

No Crystal inclua o DataSet.

e no Form onde você chama o Relatorio você coloca esse codigo

    Private Sub GerarRelatorio()
[ô]definir as variáveis de conexão
Dim dsPc As New RelClientes
[ô]definir a string de conexão e as instruções sql para cada tabela
Dim sqlCliente As String = [Ô]Select * From cadcli[Ô]
Try
[ô]Criar os objetos dataadatper
Conexao.Conectar()
Conexao.da = New MySqlDataAdapter(sqlCliente, Conexao.Conexao)
[ô]Preenche as tabelas do dataset usando o dataadapter
Conexao.da.Fill(dsPc, [Ô]cadcli[Ô])
[ô]Preencher o relatório e exibí-lo no visualizador
Dim rptCliente As New RelxCliente
rptCliente.SetDataSource(dsPc)
CrystalReportViewer.ReportSource = rptCliente
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub

com as suas conexões e tabelas.


Abraços e Espero ter ajudado
IRRV 03/12/2009 11:25:30
#329050
Leandro....muito obrigado

Vou tentar e se nao conseguir aviso..
LEANDRO 03/12/2009 11:28:48
#329051
Por Nada,
se precisar estamos ai
IRRV 03/12/2009 11:42:01
#329053
Leandro.....entendi o que vc me passou.

Agora mais uma duvida....
O que é mais correto e performatico??
Crio um DataSet para cada Relatorio, ou um unico DataSet contendo a representação completa do meu Banco, e depois uso ele em todos os meus rpts, filtrando somente o que desejo usar???

Mais uma coisa....como fica se eu trocar o nome do DataBase na String de Conexao??? Pois o meu banco é identico em TODOS os meus Clientes....mas o Nome dos bancos sao todos diferentes...tem algum detalhe que eu tenha que me atentar nesse caso????

Obrigado pela força....
Abraço.

Igor
LEANDRO 03/12/2009 11:46:47
#329055
Citação:

Crio um DataSet para cada Relatorio, ou um unico DataSet contendo a representação completa do meu Banco, e depois uso ele em todos os meus rpts, filtrando somente o que desejo usar???



R: Isso depende de você, eu utilizo um DataSet para cada Relatorio, prefiro assim para ser mais facil em manutenções futuras.

Citação:

Mais uma coisa....como fica se eu trocar o nome do DataBase na String de Conexao??? Pois o meu banco é identico em TODOS os meus Clientes....mas o Nome dos bancos sao todos diferentes...tem algum detalhe que eu tenha que me atentar nesse caso????



R: Sim, o Nome do Banco precisa esta correto na String de Conexão, eu no VB6 utilizava o .INI onde eu deixava todas as informações la, e lia ele no projeto e com as informações colocava na String de Conexão, no VB.NET tambem da para fazer isso.
IRRV 03/12/2009 11:53:53
#329056
Cara muito obrigado por tudo...

Se Precisar estamos ai...
Tópico encerrado , respostas não são mais permitidas