Erro na dll dbxmss.dll no DBExpress

26/01/2009


  Estou migrando meu software de BDE para DBExpress, ele utiliza o SQL Server 2005 Express, e estou utilizando a DLL dbxmss30.dll para conexão, porém estou tendo problemas quando ocorre qualquer tipo de erro de transação de dados (mesmo que o erro esteja tratado dentro de um try Except), após ocorrer este erro não consigo fazer mais nenhuma transação até que eu feche o sistema e abra novamente, pois em qualquer operação da erro de Access Violation na dbxmss30.dll.
  Segue abaixo imagem do erro de Access Violation apresentado.
Obs.: Esse problema eu não tinha quando estava utilizando o BDE.
Aguardo retorno. Obrigado!!!
Medicator Digitais

Medicator Digitais

Curtidas 0

Respostas

Wesley Yamazack

Wesley Yamazack

26/01/2009

Olá.

 Primeiramente gostaria de saber se a DLL não esta corrompida. Qual versão do Delphi você esta usando ? Onde esta a DLL? Junto com o Executável ?

  Com relação ao Try Except, ele só não funcionaria, se o erro estiver dando em outro lugar que não foi tratado.
  Experimente fazer um novo exemplo, com uma conexão com o SQL server só para testar e ver se o problema esta na migração do seu software. Qualquer coisa envie os seus fontes para que possamos avaliar.


Att,
Wesley Y
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

26/01/2009

Bom dia,

  Conseguiram resolver o problema ? Estamos no aguardo, para qualquer esclarecimento, ou duvida.

Att,

Wesley Y
GOSTEI 0
Medicator Digitais

Medicator Digitais

26/01/2009

  Olá Wesley, acredito fielmente que a dll não esteja corrompida, pois em qualquer estação de trabalho ocorre o problema, e cada estação tem sua dll que vem com a instalação do BDS 2006, quanto a versão do Delphi que estou utilizando, é o Delphi 2006.   Quanto ao local em que se encontra a dll, existem máquinas que ela esta na pasta da aplicação(junto com o executável), e em outras máquinas a dll esta na pasta Bin do Delphi, e em ambas o problema se apresenta.   Quanto ao Try Except, todos os lugares em que o erro ocorre estão tratados pelo Try Except, e eu já criei um outro projeto novo para teste da forma que você citou e o erro ocorre igualmente.   Quanto a lhe mandar os fontes, posso lhe mandar, porém acredito que seja mais fácil você criar uma aplicação que tente fazer um inser em uma tabela qualquer, e que esse insert dê um erro de PK por exemplo, depois, sem fechar a aplicação voce tente fazer um update eu um regirto qualquer também (obs.: é claro que tem que fazer tudo isso tratado dentro de um Try Except), isso irá lhe retornar um erro de access violation na dll que eu citei no e-mail anterior, pois é exatamente isso que tenho aqui no meu exemplo, porém estou usando uma conexão com o banco de dados de meu software.    Se precisar, por favor, me retorne que eu lhe envio os fontes.   Obrigado pela atenção.
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

26/01/2009

Bom dia,

estava analisando o artigo no site http://dn.codegear.com/article/33468,  observe que o SQLServer só é suportado na versão Beta. Porém entrei em contato com uns amigos, eles disseram que já tiveram problemas com a instalação do Delphi 2006 e SQLSERVER 2000. Sugiro que você tente fazer conexão com outro banco, Oracle,FireBird, outros, para testar se o DBExpress esta funcionando realmente.

Abaixo segue o link da minha DLL

http://www.4shared.com/file/83239493/8b555523/dbxmss30.html


Att,

Wesley Y

GOSTEI 0
Medicator Digitais

Medicator Digitais

26/01/2009

Wesley, minha aplicação utiliza tanto o SQL Server 2005 quanto o 2000, e em ambos ocorre o mesmo problema, fiz testes com o Firebird e funciona normalmente o dbexpress. Obrigado.
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

26/01/2009

Olá , Boa noite.
  Se possível tiver como você fazer um exemplo, simples. e me mandar para eu poder testar. Pois a unica explicação seria a instalação do Delphi 2006, mesmo.

Att

Wesley Y
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

26/01/2009

Bom dia,
   Faça um ultimo teste, observe os parametros que estão nos seus ClientDataset, SqlQuery, ou outros que você esteja usando. Pois caso exista algum parametro que não estaja correto ele irá dar acess violation.

Att

Wesley Y
GOSTEI 0
Medicator Digitais

Medicator Digitais

26/01/2009

Segue link do arquivo com código fonte e Banco de dados de teste. guerdo retorno. Obrigado!   https://www.devmedia.com.br/discovirtual/
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

26/01/2009

Favor, manda o link completo, pois so o disco virtual não adianta, eu naõ tenho acesso

Att,

Wesley Y-
GOSTEI 0
Medicator Digitais

Medicator Digitais

26/01/2009

GOSTEI 0
Wesley Yamazack

Wesley Yamazack

26/01/2009

Olá, Boa tarde.

  Eu fiz os testes com o delphi 2007, pois não tenho a versão 2006, gostaria de saber duas coisas.

  1 - Você substitui a dll, pela que te mandei ?
  2 - Você viu os parametros que tem nos ClientDataSet's, Query, Etc ? Viu se todos estão certos ?


Att,
Wesley Y
GOSTEI 0
Medicator Digitais

Medicator Digitais

26/01/2009

 - Fiz o teste com a dll que me enviou sim, e ocorreu o mesmo erro  - as configurações do meu SQLQuery estão ai no exemplo que lhe mandei, acredito que estejam todas corretas, caso tenha algo de errado, por favor, me avise que eu faço os testes aqui.   Eu gostaria de saber se o seu teste do meu exemplo no Delphi 2007 deu certo? pois eu fiz testes usando o Delphi 2009 e apresenta o mesmo erro.   Obrigado!  
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

26/01/2009

Olá, boa tarde, o exemplo funcionou perfeitamente, com o delphi 2007. O delphi 2009 também funciona. O delphi 2006 não tem driver para sqlserver 2006. Você esta com algum problema na sua instalação do delphi. Verifique se os delphis que você tem estão atualizados. Pois fiz aqui os exemplo e funcionam.

Att,

Wesley Y
GOSTEI 0
Medicator Digitais

Medicator Digitais

26/01/2009

Olá Wesley, você poderia compilar o exemplo que lhe enviei no seu Delphi 2007 e no 2009 e me enviar os executáveis para eu fazer o teste? Obrigado!
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

26/01/2009

Olá, estarei desenvolvendo o exemplo, e lhe retorno logo mais a tarde.

Att,
Wesley Y
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

26/01/2009

Olá, segue exemplo desenvolvido com Delphi 2007, e sql server 2005. O mesmo funcionou perfeitamente.

http://www.4shared.com/file/84583586/23292599/chamado_sqlserver.html


Att,

Wesley Y
GOSTEI 0
Medicator Digitais

Medicator Digitais

26/01/2009

  Olá Wesley, por gentileza, nesse seu exemplo de teste, simule um erro de Foreign Key e veja se dará o erro que estou me referindo, pois reparei que este exemplo que me mandou só tem uma tabela de clientes, portanto não tem como dar o erro mesmo, pois não existe foreign key. O exemplo que lhe enviei estava justamente estruturado para simular este erro, inclusive o banco que estava junto tem uma tabela clientes com uma Foreign Key com a tabela de bairros, para poder simular um erro de Foreign Key.   Aguardo o retorno!
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

26/01/2009

Olá, bom fiz os testes com o seu banco de dados, e esta tudo certo. Aqui funcionou tudo certinho. Tente reinstalar o delphi pois o problema pode esta na instalação.

Att,

Wesley Y
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

26/01/2009

Olá, bom fiz os testes com o seu banco de dados, e esta tudo certo. Aqui funcionou tudo certinho. Tente reinstalar o delphi pois o problema pode esta na instalação.

Att,

Wesley Y
GOSTEI 0
POSTAR