2011-09-02 3 views
0

Sur notre serveur, nous publions une application asp.net, qui utilise l'oracle11g comme base de données.TNS, ne peut pas gérer le nom du service lorsque deux versions différentes sont installées ensemble

Nous venons de définir la chaîne de connexion dans le web.config, cela fonctionne.

Cependant, quelqu'un installe l'oracle8 dans le même serveur car ils en ont besoin dans une autre application cliente.

Mais après cela, notre applcation Web ne peut pas fonctionner, nous obtenons l'erreur:

ora-12154 TNS an not handle the service name

Je trouve que l'environnement de chemin a été changé. Le "C:/app/oracle81/bin" est ajouté au début. Mais même si je change le "D:/app/oracle11g/bin" en premier, ça ne marche pas aussi.

Une idée pour faire fonctionner les deux?

Répondre

0

Vous pouvez rechercher les pilotes utilisés dans .NET ... Le fournisseur Oracle obsolète de Microsoft ou le propre fournisseur Oracle ou un fournisseur ODBC se trouvant au-dessus de plusieurs types de pilotes possibles dans un DSN. Chacun pourrait être corrigé d'une manière différente. Mais il semble que l'installation d'Oracle 8 ait volé la priorité sur l'installation d'Oracle 11 d'une manière qui n'est pas seulement la variable d'environnement "PATH". Je suppose que ce serait le registre. Dans l'ordre croissant de désagrément et d'efficacité, vous pouvez essayer:

1) Exécutez le programme d'installation d'Oracle 11 et vérifiez s'il connaît Oracle 8. (Peu probable si c'est 8,0). Définissez-le par défaut ou en haut de la liste; Sortie; puis revenez en arrière et définissez Oracle 11 par défaut/haut de la liste.

2) Configurez les entrées TNS dans votre maison Oracle 8 pour vous connecter à votre base de données Oracle 11. Vivez avec le fait que vous utilisez un client très obsolète.

3) Désinstallez et réinstallez Oracle 11 pour qu'il récupère la priorité.

0

Par défaut, le framework .net utilise le répertoire FIRST oracle qu'il trouve dans l'instruction path. Il y a eu des discussions sur la façon de contourner cela - mais votre meilleur pari est d'exécuter un client par machine.

Questions connexes