Um conhecimento só é válido quando compartilhado.

terça-feira, 8 de setembro de 2009

Delphi 2010+MSSQL - "Unable to find procedure DBXRow_GetUint8"

Aconteceu comigo.



Ao tentar fazer um conexão em um banco de dados SQL Server, como o Delphi 2010, fui premiado com a mensagem "Unable to find procedure DBXRow_GetUint8". Então parti para alguns testes:

1o) Criei um novo projeto e testar a conexão, para minha surpresa o exemplo conectou 100% ao banco.
2o) Executei um projeto meu menor, e também conectou 100%
3o) Olhei no meu projeto que dava o erro, se tinha alguma Unit ocasionando o erro, pois já aconteceu comigo "A biblioteca RX, não deixava abrir o editor do TImageList"
4o) Passei um email para o Andreano e ele me respondeu para que eu criasse um exemplo, mas como se já tinha feito e estava com quase 100% de certeza que no monte de units do meu projeto uma delas estava ocasionando o erro. Pior e como descobrir qual ?
5o) Último teste criei um projeto teste e fui puxando para ele unit a unit, para saber qual era.

Resultado final foi que não descobri pois com pouquíssimas units o erro estava ocorrendo e olhei todas e vi que não era uma unit que estava ocasionando o erro. Então ao dar uma olhada no diretório do projeto teste, diretório este que era o mesmo do meu projeto, vi que eu tinha colocado no mesmo diretório dos EXEs as dlls de conexão. Como tinha duas dlls uma para firebird e outra para MSSQL, resolvi apagar a do MSSQL, pois a do firebird estava funcionando normal. Para minha alegria ao executar a aplicação o erro não ocorreu.

Resumo:
Delphi 2010 com conexão MSSQL, não coloque a dll "dbxmss.dll", no mesmo diretório de sua aplicação, deixe-a no "System32".

O erro foi reportado ao QC

Para deixar os leitores a par do acontecido:
Depois de vários comentários no QC, referente este erro, foi descoberto que o problema estava vindo da versão antiga da dll (dbxmss.dll), a qual eu por acidente peguei do diretório do D2009 ao invés de pegar-la do diretório do D2010. Atualizei a dll e funcionou 100%.

Um comentário :

  1. Cara. Meus parabéns... estou há quase 1 semana com esse erro! Delphi XE4 com SQL SERVER 2008.

    ResponderExcluir

SAC Automação Delphi e Lazarus

SAC Automação Delphi e Lazarus
Assine nosso SAC Automação Delphi e Lazarus para ter suporte técnico especializado em desenvolvimento

Quem sou eu

Minha foto

Proprietário/Administrador de Empresa em TI (Tecsis Informática)
  • Autor dos projetos OpenSource ORMBr, e DBCBr
  • Autor dos componentes ACBrInstall, ACBrSped, ACBrPaf, ACBrInStore, ACBrDownload.

Total de visualizações

Postagem em destaque

ORMBr - Mapeamento objeto-relacional

Mapeamento objeto-relacional ( ou ORM, do inglês: Object-relational mapping ) é uma técnica de desenvolvimento utilizada para reduzir...

Todo os direitos reservados.. Tecnologia do Blogger.

Seguidores

Google+ Seguindores