Bonjour à tous,
Je rencontre une problématique actuellement.
J'ai deux serveurs Windows 2012 R2 (DEV1 et DEV2) qui hébergent une application .Net qui elle même accède à une BDD Oracle 19C grâce à ODAC.
J'ai par ailleurs, sur ces serveurs, des batchs qui accèdent à cette même base via SQL Plus*
Le problème (sur le DEV1 uniquement) est que lorsque mon application essaye de faire un TO_CHAR(mavaleur) avec un chiffre contenant une virgule, j'ai une erreur Oracle. Idem via un batch qui utilise SQL plus sur ce même serveur.
J'ai directement pensé aux NLS_SESSION_PARAMETERS. J'ai donc lancé dans une console un SQLPlus* sur le serveur DEV1 et j'ai les NLS_SESSION_PARAMETERS suivant:
NLS_LANGUAGE AMERICAN
NLS_NUMERIC_CHARACTERS .,
Mon problème vient bien donc de la, confirmé par le fait que sur le serveur DEV2 ou je n'ai pas de pb, j'ai:
NLS_LANGUAGE FRENCH
NLS_NUMERIC_CHARACTERS , (espace)
J'ai beau chercher sur le net, je ne trouve pas ou peuvent être définies ces paramètres sur le serveur Windows.
Je sais que je peux faire un alter session pour les batch mais cela ne corrige pas mon pb concernant la connection ODAC entre mon appli et la bdd
J'ai trouvé une solution ou il faut ajouter une clef de registre NLS_NUMERIC_CHARACTERS dans le dossier registre du client ORACLE mais même après un redémarrage du serveur, j'ai toujours le mauvais NLS_NUMERIC_CHARACTERS .,
Je sèche totalement sur comment configurer cela et je ne sais même pas pourquoi cela est différent sur mes deux serveurs.
Pourriez-vous m'aider s'il vous plait? Est ce que cela est dans un fichier? en base? (je ne pense pas car la même base est utilisée sur les deux serveurs) dans un autre endroit de la base de registre? Un paramètre de Windows serveur?
Merci beaucoup d'avance pour votre aide.
cdlt
Partager