Compilação para Plataforma 32 e 64

32 views
Skip to first unread message

Everton Pacheco

unread,
May 13, 2013, 3:10:17 PM5/13/13
to dotn...@googlegroups.com

Olá Guys,

Preciso de uma força. Já busquei todas as soluções , mas tudo que testo não funciona.

Vejam bem, fiz recentemente um serviço que tinha que realizar uma extração de dados de um banco oracle 10g, colocar no arquivo Access( mdb) e depois enviar para uns destinatários por e-mail, partir de um horario agendado.

Beleza, homologuei o serviço em um maquina 32 e 64 bits e rodou beleza. Meu problema é quando eu tento colocar em servidores windows 2003 e 2008, ambos com plataforma 64 bits.

Para gerar o arquivo mdb usei o ADOX. Quando compilo para 64 bits a dll adox apresenta o erro 'Class not registered'. Quando compilo para x86 o cliente do oracle começar a apresentar uma exceção "BadImageFormatException".

Vasculhei tanto quanto eu podia e vi diversas soluções. Já testei todas.
Pergunta: Alguém já passou por isso? e caso realmente seja impossível as duas funcionalidades conviverem, alguém tem algum conselho que funcione?

Muito obrigado,


Everton Pacheco
Especialista em Banco de Dados - UNIFACS
Especialista em Sistemas Web - UNIFACS
Mobile: (11) 95160-2883
Twitter: @evertonS3
Skype: evertons3design


Marcus Alexandre Silva

unread,
May 13, 2013, 3:16:21 PM5/13/13
to dotn...@googlegroups.com
Tenta instalar isto daqui no seu servidor: http://www.microsoft.com/en-us/download/details.aspx?id=13255 
Deve resolver seu problema.


--
==============================
Comunidade de desenvolvedores Dot Net no Brasil
 
Facebook: www.facebook.com/grupodotnetbr
 
WebSite: www.dotnetbr.com
 
E-mail do Grupo: dotn...@googlegroups.com
==============================
---
Você está recebendo esta mensagem porque se inscreveu no grupo "DotNet Brasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para dotnet_br+...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

Marcus Alexandre Silva

unread,
May 13, 2013, 3:17:21 PM5/13/13
to dotn...@googlegroups.com
Mais uma coisa: Não instale o Office 32 bits neste mesmo servidor, vai dar problema.

Everton Pacheco

unread,
May 13, 2013, 3:21:51 PM5/13/13
to dotn...@googlegroups.com
Já instalei.



Everton Pacheco
Especialista em Banco de Dados - UNIFACS
Especialista em Sistemas Web - UNIFACS
Mobile: (11) 95160-2883
Twitter: @evertonS3
Skype: evertons3design




Em 13 de maio de 2013 16:16, Marcus Alexandre Silva <inf.marcu...@gmail.com> escreveu:

Everton Pacheco

unread,
May 13, 2013, 3:22:26 PM5/13/13
to dotn...@googlegroups.com
Tudo que você imaginarem de framework e client de banco ja instalei.



Everton Pacheco
Especialista em Banco de Dados - UNIFACS
Especialista em Sistemas Web - UNIFACS
Mobile: (11) 95160-2883
Twitter: @evertonS3
Skype: evertons3design




Marcus Alexandre Silva

unread,
May 13, 2013, 3:33:52 PM5/13/13
to dotn...@googlegroups.com
Você esta acessando via OleDb ou ODBC? Voce consegue conexão com o arquivo via cliente ODBC?

Everton Pacheco

unread,
May 13, 2013, 3:42:35 PM5/13/13
to dotn...@googlegroups.com
OracleClient



Everton Pacheco
Especialista em Banco de Dados - UNIFACS
Especialista em Sistemas Web - UNIFACS
Mobile: (11) 95160-2883
Twitter: @evertonS3
Skype: evertons3design




Paulo S. M. Marques

unread,
May 13, 2013, 7:37:09 PM5/13/13
to dotn...@googlegroups.com

O que acontece e que o drivers do access não existe na plataforma x64...

Deixe fixo 32... Existe algum problema com isso

Everton Pacheco

unread,
May 13, 2013, 7:57:14 PM5/13/13
to dotn...@googlegroups.com

Sim. Fixo 32 o driver de conexao oracle para de funcionar. Me ocorreu de fazer um webservice que faca a consulta em 64 e um servico que consuma o dataset e gere o access em 32.

Paulo S. M. Marques

unread,
May 13, 2013, 11:30:19 PM5/13/13
to dotn...@googlegroups.com
Então, é uma porcaria isso...

O ODAC tem a versão de instalação 32 ou 64 bits, mesmo numa maquina 64 bits, você pode instalar o 32!

O que deve estar acontecendo na minha opiniao, é sua aplicacao setada p/ 32 e o driver do Oracle 64, vai dar essa exception Bad Image...

Tenta instalar (se você puder) o ODAC 32, vai parar com isso. Ou então usar o novo driver do access, aqueles acdb, :P



2013/5/13 Everton Pacheco <evertonp...@gmail.com>



--
Atenciosamente,

Paulo S. M. Marques - @psmarques - Skype: psmarques
Software Engineer

Marcus Alexandre Silva

unread,
May 14, 2013, 8:27:03 AM5/14/13
to dotn...@googlegroups.com
Ah tá.

Quando voce faz uma aplicação teste neste servidor, falha então é o Oracle, o Acces funciona de boa, correto?

Marcus Alexandre Silva

unread,
May 14, 2013, 8:26:13 AM5/14/13
to dotn...@googlegroups.com
Não entendi, você usa MSAccess ou Oracle?

Everton Pacheco

unread,
May 14, 2013, 8:55:50 AM5/14/13
to dotn...@googlegroups.com
Correto marcus,

em 32 - geração de Access funciona e oracle não conecta
em 64 - geração de Access falha e oracle conecta




Everton Pacheco
Especialista em Banco de Dados - UNIFACS
Especialista em Sistemas Web - UNIFACS
Mobile: (11) 95160-2883
Twitter: @evertonS3
Skype: evertons3design




Marcus Alexandre Silva

unread,
May 14, 2013, 9:04:03 AM5/14/13
to dotn...@googlegroups.com
Ultima pergunta :)
OracleClient: É a implementação da microsoft ou a da oracle?

Paulo S. M. Marques

unread,
May 14, 2013, 9:37:55 AM5/14/13
to dotn...@googlegroups.com
A implementação da Microsoft acho que depende do client do ODAC instalado na maquina... correto?

Outro detalhe é que vai ser removido, System.Data.Oracleclient





2013/5/14 Marcus Alexandre Silva <inf.marcu...@gmail.com>



--

Everton Pacheco

unread,
May 14, 2013, 9:14:15 AM5/14/13
to dotn...@googlegroups.com
É do framework do dot net. Namespace System.Data



Everton Pacheco
Especialista em Banco de Dados - UNIFACS
Especialista em Sistemas Web - UNIFACS
Mobile: (11) 95160-2883
Twitter: @evertonS3
Skype: evertons3design




Everton Pacheco

unread,
May 14, 2013, 10:25:37 AM5/14/13
to dotn...@googlegroups.com
Já está instalado.



Everton Pacheco
Especialista em Banco de Dados - UNIFACS
Especialista em Sistemas Web - UNIFACS
Mobile: (11) 95160-2883
Twitter: @evertonS3
Skype: evertons3design




Flávio Alencar

unread,
May 14, 2013, 10:47:07 AM5/14/13
to dotn...@googlegroups.com
Já tentou instalar o Oracle Client 32bits no servidor 64? Aqui eu tenho uma aplicação que está tendo problemas com o Client 64bits...





Atenciosamente,

Flávio Alencar

Everton Pacheco

unread,
May 14, 2013, 11:14:18 AM5/14/13
to dotn...@googlegroups.com
Flávio,

Já tentei, mesmo assim não conseguir. Não sei se internamente ele se ver obrigação de trabalhar com client 64. Sei lá. To montando aqui o webservice. Minha esperança é hospedar no IIS e configurar o pool de aplicação p 32. Rodar o serviço em 64 e para consumir os dados.



Everton Pacheco
Especialista em Banco de Dados - UNIFACS
Especialista em Sistemas Web - UNIFACS
Mobile: (11) 95160-2883
Twitter: @evertonS3
Skype: evertons3design




Everton Pacheco

unread,
May 14, 2013, 3:35:56 PM5/14/13
to dotn...@googlegroups.com
Bom galera,

Montei um webservice. Aparetemente ta funcionando. Vou levar para o servidor para testar. Mas o que me preocupa também é o alto volume de dados que webservice tem que pesquisar e retornar. Alguma sugestão quanto a isso?



Everton Pacheco
Especialista em Banco de Dados - UNIFACS
Especialista em Sistemas Web - UNIFACS
Mobile: (11) 95160-2883
Twitter: @evertonS3
Skype: evertons3design




Walkson Santos

unread,
May 14, 2013, 6:04:28 PM5/14/13
to .NET GROUP

Já tive alguns problemas semelhantes.
Compila o aplicativo para 32 bits instala o access e o OracleClient 32 bits caso não funcione tenta registrar as dlls do client com o regsrv da pasta system64.

Everton Pacheco

unread,
May 17, 2013, 3:29:06 PM5/17/13
to dotn...@googlegroups.com
Guys,

Depois de brigar muito com infraestrutura, desistir de fica remexendo o servidor p ver se funcionava. Então, criei um webservice compilado em 64 para acessar o banco e consumido por um serviço em 32 para criar o access e funcionou. Fica a idéia caso alguém passe por isso.

Um abraço,



Everton Pacheco
Especialista em Banco de Dados - UNIFACS
Especialista em Sistemas Web - UNIFACS
Mobile: (11) 95160-2883
Twitter: @evertonS3
Skype: evertons3design




Willian Lima

unread,
May 14, 2013, 6:06:38 PM5/14/13
to dotn...@googlegroups.com

Everton como você está populando ou consumindo o access no servidor 64?
É via Oracle? Se sim qual o impacto de você fazer este processo pela aplicação?

No servidor 64 é possível trabalhar com access mas é necessário ter os drivers corretos e a string de conexão também é diferente o "jet" deve ser trocado por "ace" e o 4.0 deve ser trocado  12.0 verifique estas informações e nos informe o que rolou

Willian Lima
Analista de Sistemas
11 9 6148 6770
Sent from my device

Everton Pacheco

unread,
May 26, 2013, 9:49:20 PM5/26/13
to dotn...@googlegroups.com
Obrigado pelo retorno William,
 
Tinha tentado também. Registrei a ADOX em 64, troquei string de conexão. E instalei alguns componentes. Mas não tive sucesso, e ainda tive que ouvir as bichas da matriz cheias preciosismo com servidor de teste. Com medo de algo abrir alguma porta. Malditos veados. Então, apelei p fazer um webservice em 64 que trouxesse os dados e um serviço em 32 que criasse e populasse o mdb.Tá resolvido e rodando. Quero esquentar mais a cabeça até mesmo porque já me desgastei muito nessa empresa.
Obrigado pelo apoio,
 
Everton



Everton Pacheco
Especialista em Banco de Dados - UNIFACS
Especialista em Sistemas Web - UNIFACS
Mobile: (11) 95160-2883
Twitter: @evertonS3
Skype: evertons3design




Reply all
Reply to author
Forward
0 new messages