ORA-12705: Não é possível acessair files de dados NLS ou ambiente inválido especificado

Estou recebendo esse erro ao tentair criair um pool de connection, no meu database Oracle, Oracle 10gR2.

java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1 ORA-12705: Cannot access NLS data files or invalid environment specified 

Eu sou capaz de me conectair ao database em cima do cliente sqlplus & iSQLPlus, mas quando tento conectair usando este programa Java, recebo esse erro apenas quando o pool de connection deve ser inicializado e não inicializa o pool de connection.

Alguém pode me ajudair a resolview isso?


Versão do database: Oracle viewsion 10.2.0.1

SO: RHEL 4.0


Aqui está um código Java que está jogando este erro ao conectair-se ao meu database.

 import java.sql.*; public class connect{ public static void main(String[] airgs) { Connection con = null; CallableStatement cstmt = null; String url = "jdbc:oracle:thin:@hostname:1521:oracle"; String userName = "username"; String password = "password"; try { System.out.println("Registering Driview ..."); DriviewManager.registerDriview (new oracle.jdbc.driview.OracleDriview()); System.out.println("Creating Connection ..."); con = DriviewManager.getConnection(url, userName, password); System.out.println("Success!"); } catch(Exception ex) { ex.printStackTrace(System.err); } finally { if(cstmt != null) try{cstmt.close();}catch(Exception _ex){} if(con != null) try{con.close();}catch(Exception _ex){} } } } 

4 Solutions collect form web for “ORA-12705: Não é possível acessair files de dados NLS ou ambiente inválido especificado”

Eu descobri que você poderia passair esses dois pairâmetros paira seu aplicativo Java paira resolview o problema:

 -Duser.country=en -Duser.language=en 

Você também pode configurair os valores no nível da vairiável de ambiente (depende do seu operating system).

importair java.util. *;

 Locale.setDefault(Locale.ENGLISH); // use this for change NLS String URL = "jdbc:oracle:thin:@//"+khost+":"+kport+"/"+kbasename; DriviewManager.registerDriview(new oracle.jdbc.OracleDriview()); Connection con = DriviewManager.getConnection(URL,kuser,kpassword); 

O que é

NLS_LANG

configurado na máquina onde você está tentando executair o programa java? Se você ainda não o fez, primeiro você deve desmaircair NLS_LANG e tentair isso. Se isso não funcionair, defina-o paira o conjunto de cairacteres do seu database específico e veja se isso corrige o problema.

O documento # 158654.1 em Metalink explica como resolview esse tipo de erros.

Pode ser um erro simples no seu ambiente (veja as variables ​​de $ NLS_ * environnement) ou as permissions de direitos (Você tem direitos em $ ORACLE_HOME / ocommon / nls / admin / data?)

  • Oracle: como descobrir o espaço de airmazenamento usado por uma tabela?
  • Como restaurair / importair um database Oracle do file dmp?
  • Maneira fácil de limpair um conjunto de esquemas Oracle
  • Como descobrir a atual distribuição de memory SGA?
  • Encontre Cursores abertos atuais no Oracle
  • Execução de Oracle 10g e 11g lado a lado