2009-09-08 7 views
0

J'ai développé une application ASP.NET sous Windows XP Professionnel. Tout en faisant la promotion de la production, j'ai seulement maintenant découvert que le serveur est en 64 bits. J'ai installé Oracle Client 32 bits sur le serveur et je ne peux pas me connecter à Oracle. J'utilise le fournisseur Microsoft pour Oracle, et ma question est, comment obtenir une application ASP.NET compilée sur une machine 32 bits pour se connecter à Oracle sur une machine Windows Server 2003 64 bits?Développement pour Windows Server 2003 64 bits sous Windows XP 32 bits

EDIT:.

En réponse à un commentaire sur ma première question, l'erreur que je reçois est « Essayez de charger les bibliothèques clientes Oracle a lancé BadImageFormatException Ce problème se produit lors de l'exécution en mode 64 bits avec 32 bits Les composants client Oracle installés "

J'ai désinstallé le client 32 bits et je suis en train d'installer le client 64 bits, le problème est que le serveur est un serveur de production dans une DMZ et que je n'ai pas accès au serveur moi-même. Je suis en train d'essayer d'anticiper les problèmes que je vais avoir quand le client 64 bits est installé et j'essaie d'accéder à l'application ASP.NET sur le serveur

+0

Existe-t-il un pilote 64 bits pour la connexion Oracle? –

+0

Que signifie "ne peut pas se connecter à Oracle"? Vous obtenez un message d'erreur? il expire? Quelle? Avez-vous essayé de vous connecter en utilisant SQLPlus ou un autre outil fourni avec le client Oracle? –

Répondre

2

Solution simple: vous devez installer le client Oracle en fonction de la plate-forme (x64 sur une machine x64). La raison en est que votre application .NET est très susceptible d'être construite dans la configuration AnyCPU, ce qui signifie qu'elle fonctionnera comme une application x64 sur une plate-forme x64. Il ne peut alors charger les bibliothèques natives 64 bits ...

Notez que quand il vient à Oracle, j'aime utiliser Oracle Instant Client:

  • Vous ne devez pas installer quoi que ce soit sur les machines cibles (y compris dev des boites !).
  • Vous pouvez vous assurer que votre application fonctionnera avec le client spécifique que vous avez choisi (version, x86/x64).
  • Vous pouvez facilement faire fonctionner plusieurs applications avec différentes versions client sur le même ordinateur. En contrepartie, il ajoute un poids important à votre application (~ 19 Mo minimum).

Vérifiez What is the minimum client footprint required to connect C# to an Oracle database? pour plus d'informations.

Dans votre cas particulier, je vous recommande de configurer un projet Visual Studio qui fonctionnera sur les ordinateurs x86 et x64: consultez mon article de blog Oracle Instant Client in Visual Studio. Alors voici un guide sur how to configure a WiX package for Oracle Instant Client ciblant les machines x86 ou x64. Si vous utilisez une autre stratégie de déploiement, assurez-vous d'expédier le bon client en fonction de la plate-forme cible.

Questions connexes