Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/07/2009, 19:52
keybeth
 
Fecha de Ingreso: julio-2009
Mensajes: 4
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Conectar Java Oracle 10g

Yo creo presento es el siguiente problema, instale la version 10g Express Edtion(XE), y perfecto de hecho puedo acceder a la interfaz grafica y realizar mis labores con la base de datos, tome las librerias que trae la instalacion (ojdbc14.jar,ojdbc14_g.jar y orai1n.jar) y las incorpore a mi classpath. Tambien revise el tnsnames.ora y el listener ora y me sigue presentando la siguiente excepcion:

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


at oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:112)

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoe r.java:331)

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoe r.java:283)

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoe r.java:278)

at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOaut h(T4CTTIoauthenticate.java:785)

at oracle.jdbc.driver.T4CConnection.logon(T4CConnecti on.java:362)

at oracle.jdbc.driver.PhysicalConnection.<init>(Physi calConnection.java:414)

at oracle.jdbc.driver.T4CConnection.<init>(T4CConnect ion.java:165)

at oracle.jdbc.driver.T4CDriverExtension.getConnectio n(T4CDriverExtension.java:35)

at oracle.jdbc.driver.OracleDriver.connect(OracleDriv er.java:801)

at org.eclipse.datatools.connectivity.db.generic.JDBC Connection.createConnection(JDBCConnection.java:87 )

at org.eclipse.datatools.connectivity.DriverConnectio nBase.internalCreateConnection(DriverConnectionBas e.java:104)

at org.eclipse.datatools.connectivity.DriverConnectio nBase.open(DriverConnectionBase.java:53)

at org.eclipse.datatools.connectivity.db.generic.JDBC ConnectionFactory.createConnection(JDBCConnectionF actory.java:52)

at org.eclipse.datatools.connectivity.internal.Connec tionFactoryProvider.createConnection(ConnectionFac toryProvider.java:77)

at org.eclipse.datatools.connectivity.internal.Connec tionProfile.createConnection(ConnectionProfile.jav a:354)

at org.eclipse.datatools.connectivity.ui.PingJob.run( PingJob.java:57)

at org.eclipse.core.internal.jobs.Worker.run(Worker.j ava:55)

Mi metodo para lo conexion es el siguiente:

Mi clase tiene la importacion de las librerias de jdbc de oracle (ojdbc14.jar, orai18n.jar)


private final OracleDriver driver= new OracleDriver();
private final String bd = "XE";
private final String url = "jdbc:oracle:thin:@127.0.0.1:1521:"+bd;
private final String usr = "miUsuario";
private final String clave = "miClave";

public final Connection ConexionBD() {
Connection conn = null;
try {
DriverManager.registerDriver(driver);
} catch (Exception e) {
System.out.println(e);
}

try {
conn = DriverManager.getConnection(url, usr, clave);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
conn.setAutoCommit(false);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return conn;
}


el tnsnames.ora: quedo asi

XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = colossus)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)

ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)

el listener.ora asi:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\Oracle\app\oracle\product\10.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\Oracle\app\oracle\product\10.2.0\server)
(PROGRAM = extproc)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = colossus)(PORT = 1521))
)
)

DEFAULT_SERVICE_LISTENER = (XE)


De ante mano gracias....