CONFLITO ARQUITETURAS 32BITSX64BITS

SURI 31/08/2013 11:07:09
#428344
Olá vbmaníacos,

Instalei no win7 um aplicativo compilado no vb6. O mesmo conecta a base de dados por intermédio de uma DSN. No princípio o problema era com a DSN, instalei o controlador fire de 64bits, o serviço (servidor fire) 64bit e até aí beleza, a DSN está configurada.

Acontece que quando rodo a aplicação, na hora de conectar a DB aparece uma mensagem dizendo que há incompatibilidades de arquitetura entre o aplicativo e os controladores (DSN).

A questão é: Como compilar o aplicativo para arquitetura 64bits?
- Tem como usar um truque que simule 64bits num aplicativo de 32bits?
OCELOT 31/08/2013 20:19:38
#428354
Resposta escolhida
Não tem como compilar VB6 como 64bits, ele sempre vai ser 32 bits.

A questão ai é que muitos confundem as coisas, enquanto o servidor do banco de dados se for instalado em um Windows x64 deve ser instalada a versão x64 dele, o componente de acesso dese ser instalado de acordo com o seu programa, se o seu programa é de 32 bits então você deve instalar o conector de 32 bits, pode ser que ao instalar o de 64 bits ele instale o de 32 junto, isso vai depender do componente. Isso vale para qualquer outro componente que seu programa use, não importa se existe versão de 64 bits, o seu programa é de 32 bits então todos os componentes que ele usa devem obrigatoriamente ser de 32 bits.

A DSN é mesma coisa, existe como configurar DSN diferentes para 32 e 64 bits, pois pode ser que não exista o mesmo conector para as duas arquiteturas, não sei dizer ao certo se no Windows 7 fica no mesmo lugar, aqui no Windows 8 quando abro as ferramentas administrativas no painel de controle eu tenho lá as Fontes de Dados ODBC de 32 e 64 bits, são dois programas separados para configurar cada uma delas, e a sua deve ser criada na de 32 bits
SINCLAIR 31/08/2013 20:37:31
#428355
Amigo,

Cirie seu DSN da seguinte forma:

1) Vá ao prompt de comando como administrador
2) Vá em \windows\syswow64
3) Digite odbcad32

Isto fará com que você execute o gerenciador de odbc de 32 bits, que sua aplicação vb6 vai enxergar.

Aconselho desintalar o driver odbc 64 bits, embora eu nunca tenha tido problemas em deixar ambos (uso PostGreSQL).

Tudo de bom.
Tópico encerrado , respostas não são mais permitidas