Migração para UNIDAC

1,771 views
Skip to first unread message

Rene Melo

unread,
May 8, 2012, 11:59:55 AM5/8/12
to DUG-RS - Delphi Users Group Rio Grande do Sul
Boa tarde pessoal, 

estamos pensando em migrar um sistema (+1000 telas) de BDE para UNIDAC (http://www.devart.com/unidac/).

Gostaria da opinião de vocês sobre o assunto e o componente ?

abraços,
--
Renê Eduardo Mesquita Melo
Royalsoft tecnologias e sistemas
www.royalsoft.com.br

Wendel Wagner Martins Nogueira

unread,
May 8, 2012, 12:05:17 PM5/8/12
to dug...@googlegroups.com
Vcs acessam Firebird ou outro banco?

Se for Firebird recomento o IBO, vcs terão um reaproveitamento quase que total do fonte atual com o IBO.

--
Você recebeu esta mensagem porque está inscrito no "DUG-RS -
Delphi Users Group Rio Grande do Sul" em Grupos do Google.
Acesse o nosso BLOG em http://www.dug-rs.org e contribua com a comunidade Delphi do Rio Grande do Sul
Para postar neste grupo, envie um e-mail para dug...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para
dug-rs-un...@googlegroups.com
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/dug-rs?hl=pt-BR
 
Twitter: @dugrs
http://www.facebook.com/groups/dugrs/
http://www.Vimeo.com/dugrs



--
Wendel Wagner
67 9252-9307 / 3423-8233
SoftCom Informática
PAF-ECF/NFE e Windows Mobile

Kenner Grings

unread,
May 8, 2012, 12:10:02 PM5/8/12
to dug...@googlegroups.com
Boa tarde,

Onde eu trabalho fizemos essa migração há uns 2 anos, migrando várias aplicações, a maioria Oracle e algumas em SQLServer.
Sei que a Devart tem um aplicativo que faz a conversão agora, mas na época foi desenvolvido na empresa mesmo um aplicativo para converter BDE para Unidac que ficou perfeito.

O componente é bom e muito prático, não tivemos grandes problemas usando ele, além de o suporte ser muito bom.

Abraço,
Kenner Grings


De: Rene Melo <rene...@gmail.com>
Para: DUG-RS - Delphi Users Group Rio Grande do Sul <dug...@googlegroups.com>
Enviadas: Terça-feira, 8 de Maio de 2012 12:59
Assunto: [dug-rs] Migração para UNIDAC

Samuel N. Junior

unread,
May 8, 2012, 12:27:07 PM5/8/12
to dug...@googlegroups.com
Renê,

Uso o UNIDAC desde a versão 2 (hoje estou usando a versão 4.1) e nunca tive problemas com o produto.

Ele é de fácil utilização e conversa com os principais bancos do mercado como: MySQL, Oracle, SQL Server, Firebird, InterBase, PostgreSQL, etc.

E para os bancos Oracle, MySQL, PostgreSQL e NexusDB o acesso ao banco é efetuado diretamente pelo UNIDAC, sem necessidade de instalar os "clients" para esses bancos ou DLLs/APIs externas.

Outra grande vantagem é permitir que você "migre" de um banco para outro apenas trocando o "Data Provider".


[ ]s


Samuel Natali Junior
NatSam Consultoria Ltda
Fone: (11) 4688-1000
Skype: Hipercusto
www.natsam.com.br
www.hipercusto.com.br

josec...@absolutsistemas.com.br

unread,
May 8, 2012, 12:58:15 PM5/8/12
to dug...@googlegroups.com

 

  Eu fiz esta migração, ano passado, mas foi do IBX para o IBDAC.

  Foi escolhido o IBDAC porque na nossa aplicação não interessa outros bancos que não seja o firebird e a diferença entre o IBDAC e UNIDAC, é que

no IBDAC  você acessa recursos do firebird ( como as ferramentas adminstrativas e recursos de transações ) que você não poderá acessar no UNIDAC.

 

Nem sempre esta universalização é interessante.

Eu usei a ferramenta que vem no IBDAC que converte aplicacoes IBX e BDE para IBDAC, uns 80% do serviço foi feito pela conversão.

Outra coisa que determinou a escolha do IBDAC é que é muito parecido com IBX, facilitando a minha conversão.

 

Mas eu acabei de comprar o UNIDAC com fontes, pois estou fazendo uma aplicação para Firemonkey IOS e achei interessante usar a solução da DevArt pelo suporte que eles oferecem.

Hoje temos 3 produtos UNIDAC, IBDAC e o driver para o Firebird para dbExpress.

--

Rene Melo

unread,
May 8, 2012, 1:04:31 PM5/8/12
to dug...@googlegroups.com
Desculpa,
SQL Server.

Rene

Newton Michel De Oliveira

unread,
May 8, 2012, 1:17:50 PM5/8/12
to dug...@googlegroups.com, dug...@googlegroups.com
Rene,
Existe uma ferramenta de conversão que faz o serviço para você. Estamos fazendo a migração aqui na empresa e até agora só tivemos vantagens.


Enviado via iPhone

Rene Melo

unread,
May 8, 2012, 1:38:29 PM5/8/12
to dug...@googlegroups.com
Newton,

nos já estamos com o sistema "convertido" e realmente funciona.
Agora queremos saber, é confiável, vale a pena essa migração...
Tudo indica que sim.

Rene

Samuel N. Junior

unread,
May 8, 2012, 1:43:48 PM5/8/12
to dug...@googlegroups.com
Rene,

Na minha opinião, só o fato de você sair do BDE (que está mais que obsoleto) já vale a pena.

[ ]s


Samuel Natali Junior
NatSam Consultoria Ltda
Fone: (11) 4688-1000
Skype: Hipercusto
www.natsam.com.br
www.hipercusto.com.br

Ricardo

unread,
May 8, 2012, 3:08:49 PM5/8/12
to dug...@googlegroups.com

Nos últimos dois anos converti nossos dois sistemas feitos em Delphi para usar o UNIDAC ,  e posso lhes dizer que é muito melhor que qualquer outro componente de acesso a banco de dados que eu já tenha trabalho, com relação ao acesso ao Oracle então é um oceano de distancia, só pelo fato de não necessitar o client do oracle instalado na maquina local já uma grande evolução. Quantos aos problemas  não tivemos nenhum, a única coisa que gerou um pouco de dificuldade no começo foi a forma do componente UNIDAC trabalhar com datas, mas nada de muito complicado.

Gustavo Luis Hinterholz

unread,
May 8, 2012, 3:11:53 PM5/8/12
to dug...@googlegroups.com
Olha , ja utilizei bde, ibo e o SQLConnection, deste que comecei a criar o projeto novo comecei com unidac, na minha opnião o componente da unidac esta em outro nível em relação aos demais.

Gilberto Dessbesell Jr

unread,
May 8, 2012, 3:17:15 PM5/8/12
to dug...@googlegroups.com
Boa tarde pessoal,

alguém que trabalha ou já trabalhou com Zeos, tem algo a comentar sobre Zeos x UniDac?


Att.,

2012/5/8 Ricardo <ricardo...@gmail.com>



--
Gilberto Dessbesell Jr.

"Simplicidade--a arte de maximizar a quantidade de trabalho não realizado--é essencial."

Ricardo Gavira

unread,
May 8, 2012, 3:29:52 PM5/8/12
to dug...@googlegroups.com
Olá, eu tenho 2 sistemas usando Zeos com Firebird 2.5, achei muito bom, mais pelo que conheço o UniDac é bem melhor. Também porque o Zeos, até onde eu sei, deu uma parada nas implementações.


2012/5/8 Gilberto Dessbesell Jr <gdb...@gmail.com>



--
------------------------------------------------------------------
Ricardo Alexandre de O. Gavira
Analista de Sistemas
Caxias do Sul / RS
Email: ricg...@gmail.com
Blog: ricardogavira.wordpress.com

"O melhor dos mestres é o estudo. E a melhor das disciplinas é o trabalho."
Machado de Assis
------------------------------------------------------------------

Gilberto Dessbesell Jr

unread,
May 8, 2012, 3:37:21 PM5/8/12
to dug...@googlegroups.com
Ricardo,

melhor em que, exatamente?

Aliás, esta pergunta se estende aos demais: Todos tem falado que é muito bom mas, desconsiderando o BDE, em que o UniDac tem sido melhor para vocês?


Att.,

2012/5/8 Ricardo Gavira <ricg...@gmail.com>

Gustavo Luis Hinterholz

unread,
May 8, 2012, 3:45:06 PM5/8/12
to dug...@googlegroups.com
Percebi Alguns diferenciais:
- Em alguns bancos, leia-se os mais usados, ja conecta diretamente, sem necessidade do client dos mesmos.
- Percebi certa agilidade tambem em relacao a sql's iguais .
- Poder trocar de banco sem a necessidade de colocar dll's a mais, leia-se os mais usados tambem.
- Tem uma opção chamada Pooling, que em resumo seria a cada query não abrir uma estancia ou conexão diferente com o banco, mas sim reaproveitar uma ja existente, tornando o processo mais rapido e de menos processamento no servidor.
- Dependendo do banco , no caso o PostGre, tem suporte a SSL nativo. ( não sei se os outros não tem).
 
Percebi isso, mas deve ter uma ou outra coisa tambem ...

Samuel N. Junior

unread,
May 8, 2012, 3:55:01 PM5/8/12
to dug...@googlegroups.com
Antes de começar a usar o UNIDAC eu usava o ZEOS mas às vezes a aplicação, sem mais nem menos, perdia a conexão com o servidor. Nunca descobri porque e não eram problemas na rede.

Também me incomodava ter que mandar uma DLL/Client para acessar o banco de dados (no caso eu uso o MySQL e o ORACLE).

A única "desvantagem" do UNIDAC é custar US$ 99,95 (Standard) ou US$ 249,95 (Professional) enquanto o ZEOS não custa nada.

Fora isso, o UNIDAC é muito superior ao ZEOS e vem com uma série de componentes adicionais.

Sugiro dar uma olhada na página do produto http://www.devart.com/unidac/  para maiores informações ou baixar a versão de testes.

Para quem trabalha apenas com o Oracle, outro excelente produto é o Direct Oracle Access da AllRound Automations ( http://www.allroundautomations.com/bodydoa.html ). No caso específico para conexões apenas com o ORACLE eu acho o DOA um pouco melhor que o UNIDAC (ou do que o Oracle Data Access Components também da Devart).

[ ]s



Samuel Natali Junior
NatSam Consultoria Ltda
Fone: (11) 4688-1000
Skype: Hipercusto
www.natsam.com.br
www.hipercusto.com.br

Ricardo Gavira

unread,
May 8, 2012, 3:55:22 PM5/8/12
to dug...@googlegroups.com
Só o fato do Zeos não ter tido continuidade de implementações já justifica. A versão que está para download é a 6.6.6 de 30/12/2009 e essa tem suporte até o FB 2.1, para o 2.5 tem que achar o SVN e baixar a versão de desenvolvimento. A DevArt continua evoluindo os seus componentes. O único problema é que não é Free como o Zeos.

att

Gilberto Dessbesell Jr

unread,
May 8, 2012, 4:06:38 PM5/8/12
to dug...@googlegroups.com
Samuel,

você diz: *UNIDAC é muito superior ao ZEOS*. Eu pergunto: superior em quê?


Att.,
Gilberto.

2012/5/8 Samuel N. Junior <sam...@natsam.com.br>

Samuel N. Junior

unread,
May 8, 2012, 4:34:15 PM5/8/12
to dug...@googlegroups.com
Gilberto,

Além de não precisar das DLLs de acesso ao Oracle, MySQL e outros acessar através de drives nativos que já acompanham o Windows (exemplo SQL Server), existem outras dezenas de vantagens mas as principais que eu me lembro são:

- Maior velocidade no acesso aos dados (provavelmente por não precisar passar pela "camada" de acesso do Client).
- Evolução constante do produto. Hoje ele já roda com Delphi XE2 32/64 Bits e funciona com aplicações VCL e FMX (a última versão do ZEOS é de 30/12/2009 enquanto que a última do UNIDAC é de 02/04/2012).
- Possibilidade de criação SQLs independentes do tipo do servidor.
- Estabilidade do produto (com o Zeos a conexão com o servidor às vezes "caia" do nada ou então no meio de SQLs mais "pesadas" ocorria algum GPF).

Sugiro que você faça o download da versão de testes do produto e analise melhor os recursos do produto.

Muitos usam o ZEOS e estão satisfeitos com o produto, assim como eu estava até usar o UNIDAC.


[ ]s


Samuel Natali Junior
NatSam Consultoria Ltda
Fone: (11) 4688-1000
Skype: Hipercusto
www.natsam.com.br
www.hipercusto.com.br

Ricardo

unread,
May 8, 2012, 4:42:47 PM5/8/12
to dug...@googlegroups.com

Gilberto,

 

Para mim que uso o oracle, o fato de não precisar do client do oracle instalado na maquina local, além de não precisar de criar alias no bde e  sem falar dos erros que só o bde tem rsrsrs

Gilberto Dessbesell Jr

unread,
May 8, 2012, 4:48:33 PM5/8/12
to dug...@googlegroups.com
Samuel,

obrigado pelas respostas.

Questiono justamente porque usamos Zeos e estamos satisfeitos, então procuro motivos para voltar a testar o UniDac.

Comento algumas das tuas respostas abaixo com minhas experiências, apenas destacando que utilizamos MySQL 5.5 atualmente.

2012/5/8 Samuel N. Junior <sam...@natsam.com.br>
Gilberto,


Além de não precisar das DLLs de acesso ao Oracle, MySQL e outros acessar através de drives nativos que já acompanham o Windows (exemplo SQL Server), existem outras dezenas de vantagens mas as principais que eu me lembro são:

- Maior velocidade no acesso aos dados (provavelmente por não precisar passar pela "camada" de acesso do Client).
Tive esta espectativa, mas em testes práticos, utilizando vários formatos de consulta, não notei diferença significante.

- Evolução constante do produto. Hoje ele já roda com Delphi XE2 32/64 Bits e funciona com aplicações VCL e FMX (a última versão do ZEOS é de 30/12/2009 enquanto que a última do UNIDAC é de 02/04/2012).
Existe uma versão 7.0 do Zeos, ainda não declarada como estável, que suporta o Delphi 2009 em diante. Como ainda usamos Delphi 7 não tenho muitos detalhes sobre ela.

- Possibilidade de criação SQLs independentes do tipo do servidor.
- Estabilidade do produto (com o Zeos a conexão com o servidor às vezes "caia" do nada ou então no meio de SQLs mais "pesadas" ocorria algum GPF).
Talvez isso tenha sido problema de alguma versão específica, pois nunca tivemos problemas deste tipo.

Gilberto Dessbesell Jr

unread,
May 8, 2012, 4:50:12 PM5/8/12
to dug...@googlegroups.com
Ricardo,

obrigado pela resposta. Só para comparar: com Zeos também não é necessário cadastrar alias.


Att.,

2012/5/8 Ricardo <ricardo...@gmail.com>

Ricardo

unread,
May 8, 2012, 5:01:34 PM5/8/12
to dug...@googlegroups.com

Ah esqueci de comentar o UNIDAC tem uma ferramenta que gosto muito e não vi ainda em outro componente que é o DBMonitor , por esse aplicativo é possível visualizar as operação dos componentes em tempo de execução ou seja, durante um insert ou select você consegue visualizar exatamente os parâmetros que estão sendo passado para o componente e o que ele esta fazendo, achei muito bom, pois antes quando queria pegar um select por exemplo para testar fora da aplicação tinha que ta colocando ele em um Memo ou passado ela em execução para um arquivo txt. 

José Alencar Philereno

unread,
May 8, 2012, 5:18:36 PM5/8/12
to dug...@googlegroups.com
Estou começando o desenvolvimento de uma aplicação de tamanho médio/grande, utilizando FIB e Firebird.
Com todas as colocações deste tópico, fiquei inclinado a mudar o que já fiz para o set de componentes UNIDAC
pela facilidade de troca de SGBD.
Nós já desenvolvemos de forma a poder trocar o SGBD simplesmente substituindo o Database, Transaction, 
DataSet e Provider em apenas um lugar, mas mesmo assim, no código fonte acaba sempre tendo a necessidade
de um {#IFDEF } da vida...

Para quem já usa o UNIDAC, meu trabalho nesta troca seria pequeno? Preciso manter o conjunto db+tr+dsp+ds
para ligar aos meus clientdatasets ou a forma de uso do UNIDAC é diferente?


Alencar
--------------------------------------------------------------
Jose Alencar Philereno
Bacharel em Sistemas de Informacao
Fit - Faccat    Taquara/RS  2009
Skype: alencar
MSN: ale...@philler.com.br

“Acima de todas as liberdades, dê-me a de saber, de me expressar, de
debater com autonomia, de acordo com minha consciência.”
John Milton


2012/5/8 Ricardo <ricardo...@gmail.com>

Samuel N. Junior

unread,
May 8, 2012, 5:50:56 PM5/8/12
to dug...@googlegroups.com
Alencar,

No UNIDAC voc� usa os componentes dele (TUniConnection, TUniQuery, TUniTable, etc.) e s�o esses os componentes que voc� ir� usar no lugar dos normais do Delphi.

O TUniConnection � o componente que far� a conex�o com o banco de dados atrav�s do DataProviders que acompanham a vers�o Professional do Unidac (ou que voc� tenha adquirido separadamente).

Assim, migrar de um banco para outro basta "conectar" o TUniConnection ao DataProvider desejado. Exemplo:

Para conectar ao Oracle:
UniConnection1.ProviderName:='Oracle';

Para conectar ao SQL Server:
UniConnection1
.ProviderName:='SQL Server';

Para conectar ao MySQL:
UniConnection1
.ProviderName:='MySQL';

E assim por diante.

Ou seja, mudou o par�metro ProviderName do TUniConnecttion e todos os TUniQuery, TUniTable, etc. conectados ao mesmo j� est�o trabalhando com esse banco.


E voc� n�o precisa de nenhum {#IFDEF} no c�digo para isso, basta ler um arquivo de configura��o e inicializar o TUniConnection com o tipo de banco desejado antes de fazer a conex�o.

Tamb�m existem par�metros adicionais que podem ser definidos na propriedade SpecificOptions (geralmente par�metros espec�ficos para cada banco de dados).

Por exemplo, se voc� quer que o UNIDAC se conecte diretamente ao Oracle sem usar o Client que est� instalado na esta��o basta usar:
UniConnection1.SpecificOptions.Add('DIRECT=True');

Se tiver mais alguma d�vida, � s� perguntar.

[ ]s


Samuel Natali Junior
NatSam Consultoria Ltda
Fone: (11) 4688-1000
Skype: Hipercusto
www.natsam.com.br
www.hipercusto.com.br

Em 08/05/2012 18:18, Jos� Alencar Philereno escreveu:
Estou come�ando o desenvolvimento de uma aplica��o de tamanho m�dio/grande, utilizando FIB e Firebird.
Com todas as coloca��es deste t�pico, fiquei inclinado a mudar o que j� fiz para o set de componentes UNIDAC
pela facilidade de troca de SGBD.
N�s j� desenvolvemos de forma a poder trocar o SGBD simplesmente substituindo o Database, Transaction,�
DataSet e Provider em apenas um lugar, mas mesmo assim, no c�digo fonte acaba sempre tendo a necessidade
de um {#IFDEF } da vida...

Para quem j� usa o UNIDAC, meu trabalho nesta troca seria pequeno? Preciso manter o conjunto db+tr+dsp+ds
para ligar aos meus clientdatasets ou a forma de uso do UNIDAC � diferente?


Alencar
--------------------------------------------------------------
Jose Alencar Philereno
Bacharel em Sistemas de Informacao
Fit - Faccat� � Taquara/RS� 2009
Skype: alencar
MSN: ale...@philler.com.br

�Acima de todas as liberdades, d�-me a de saber, de me expressar, de
debater com autonomia, de acordo com minha consci�ncia.�
John Milton

Samuel N. Junior

unread,
May 8, 2012, 6:17:17 PM5/8/12
to dug...@googlegroups.com
Gilberto,

Sei como é estar satisfeito com uma ferramenta e não ver necessidade de mudar. Eu estou passando por isso agora, pois sempre usei o InfoPower estava satisfeito com ele, até a hora que "cai na besteira" de pegar o DBAdvGrid da TMS Software para testar e vi que coisas que eram extremamente complicadas (e trabalhosas) de fazer com o InfoPower são absurdamente fáceis de fazer nesse DBAdvGrid e agora estou tendo que aprender a usar esse novo componente, mas está valendo a pena.

Com relação aos seus comentários:

Se você abre um SQL e retorna poucos registros para a estação, realmente o ganho é imperceptível pois se em um demorar 0,01 segundo e no outro 0,10 segundos o usuário nem perceberá isso. Mas se você tiver que retornar um volume grande de dados para a estação, aí o ganho será muito bom.

Você diz que usa o Delphi 7 enquanto eu usava o Zeos com o Delphi 2007. Pode ser algo com essa "combinação" ou então com a versão do Zeos que usei.

[ ]s


Samuel Natali Junior
NatSam Consultoria Ltda
Fone: (11) 4688-1000
Skype: Hipercusto
www.natsam.com.br
www.hipercusto.com.br

Em 08/05/2012 17:48, Gilberto Dessbesell Jr escreveu:
Samuel,

Gilberto Dessbesell Jr

unread,
May 8, 2012, 6:27:22 PM5/8/12
to dug...@googlegroups.com
Samuel,

quanto aos testes de desempenho, fiz testes específicos, tratando milhões e retornando centenas de milhares de registros e não tive ganhos. Realizei vários testes, simulando diversos cenários.

A questão é que não utilizamos o Zeos da maneira "padrão". Temos um framework que trabalha "sobre" os componentes do Zeos, com algumas modificações.


Att.,

--
Você recebeu esta mensagem porque está inscrito no "DUG-RS -
Delphi Users Group Rio Grande do Sul" em Grupos do Google.
Acesse o nosso BLOG em http://www.dug-rs.org e contribua com a comunidade Delphi do Rio Grande do Sul
Para postar neste grupo, envie um e-mail para dug...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para
dug-rs-un...@googlegroups.com
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/dug-rs?hl=pt-BR
 
Twitter: @dugrs
http://www.facebook.com/groups/dugrs/
http://www.Vimeo.com/dugrs

Rene Melo

unread,
May 8, 2012, 10:20:35 PM5/8/12
to dug...@googlegroups.com
Pessoal, obrigado pelas declarações...
Ajudaram na decisão...

Abraços,
Rene

Gustavo Segalla

unread,
May 9, 2012, 8:04:28 AM5/9/12
to dug...@googlegroups.com
Rene,

Se voce vai utilizar apenas SQL Server, sugiro utilzar ADO, voce nao
vai precisar mais do client do sql server e é bem rápido para esse
fim.

Abç.
Reply all
Reply to author
Forward
0 new messages