J'ai une solution de studio visuel avec une application Web ASP.NET 3.5 (hôte WCF) et un projet de test. Je voulais utiliser le Oracle Instant Client (v11, via NHibernate) pour créer des connexions Oracle sans avoir les outils client Oracle installés sur chaque machine "impliquée" (dev, serveur CI, serveur de test, serveur de production).Oracle Instant Client avec application Web
La chose étrange est que sur ma machine de développement (x86) mes tests fonctionnent sans problème, alors que mon application web me donne toujours le message d'erreur suivant: System.Data.OracleClient requires Oracle client software version 8.1.7 or greater
choses que j'exclue déjà:
- Le dossier bin a lu & autorisations pour tout le monde execute
- sont de la DLL non bloquées (windows 7)
- Pr oblème se produit à la fois le développement Visual Studio Server et IIS 7
- J'ai aussi testé cela sur une machine avec des outils clients Oracle installés et qui fonctionne
J'ai même réussi à obtenir des tests en cours d'exécution sur notre serveur x64 CI (more info).
Quelqu'un a une idée de ce qui me manque?
Salut, merci d'avoir regardé cela, mais la solution que je cherche est _ "sans outils client" _. C'est pour cela qu'Oracle Instant Client est créé. Je suppose que si cela fonctionne déjà dans un contexte de projet de test, cela devrait aussi fonctionner pour une application web ... – Koen
Cela ne devrait pas être nécessaire. Dans le monde .NET, si les binaires sont là (xcopied) dans le dossier de l'application ("bin" dans mon cas et la plupart du temps), ils devraient être trouvés (et ils sont là, j'ai évidemment vérifié et revérifié). Le dossier bin est toujours le premier endroit où l'environnement d'exécution .NET recherche les dépendances. Cela fonctionne de la même manière dans le projet Test ... – Koen
Excepté une application Web ASP.NET copie ses DLL dans un dossier Temporary ASP.NET Files pour les exécuter, de sorte que les DLL Oracle peuvent en fait se trouver dans un répertoire différent de vos DLL de programme –