Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

730
Vistas
Conexión a una base de datos Oracle remota con Nodejs a través del controlador Oracledb

Hola, realmente estoy tratando de descubrir cómo conectarme a una base de datos de prueba de Oracle remota y no tengo experiencia en Java. Así que si pudiera obtener su ayuda, estaría eternamente agradecido.

Tengo una base de datos de prueba remota a la que intento conectarme y tengo una conexión jdbc con un SID de estilo antiguo. De acuerdo con este enlace: https://github.com/oracle/node-oracledb/blob/master/doc/api.md#notjdbc , se supone que debo crear un archivo tnsnames.ora para establecer la conexión, así :

tnsnames.ora:

 appDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521)) (CONNECT_DATA = (SID = ORCL) ) )

y luego se supone que debo hacer referencia a él en mi archivo node server.js, así

servidor.js:

 const oracledb = require('oracledb'); oracledb.getConnection( { user : process.env.ORACLE_USER, password : process.env.ORACLE_PASSWORD, connectString : "appDB" }, function(err, connection) { if (err) { console.error(err.message); return; } connection.execute( "SELECT * " + "FROM BOS_course", function(err, result) { if (err) { console.error(err.message); doRelease(connection); return; } console.log(result.rows); doRelease(connection); }); }); module.exports = { oracledb };

Sin embargo, no tengo idea de dónde se supone que debo colocar el archivo tnsnames.ora. Encontré este enlace en línea $ORACLE_HOME/network/admin pero no sé a qué se refiere. Sólo tengo acceso limitado a la base de datos. Disculpen mi ignorancia en Java. ¿Cómo puedo usar esta conexión en mi aplicación de nodo, que vive completamente separada de la base de datos? ¿Cómo sabe mi aplicación qué es "appDB" y cómo encontrarlo en el archivo tnsnames.ora?

¡Gracias por adelantado!

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

poner la dirección de conexión completa en la variable connectString

{ user : process.env.ORACLE_USER, password : process.env.ORACLE_PASSWORD, connectString : "(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))(CONNECT_DATA =(SID= ORCL)))" }

over 4 years ago · Santiago Trujillo Denunciar

0

Para responder técnicamente a la pregunta, establezca la variable de entorno TNS_ADMIN . Luego, node-oracledb (y otras API de lenguaje basadas en OCI como Python cx_Oracle, PHP OCI8, Ruby ruby-oci8, etc.) buscarán $TNS_ADMIN/tnsnames.ora .

over 4 years ago · Santiago Trujillo Denunciar

0

Tengo un caso similar en el que tengo dos máquinas virtuales en Azure. Uno para Oracle12c DB y otro para el paquete nodejs oracledb con bibliotecas del lado del cliente de Oracle. Esta es mi cadena de conexión del lado del cliente para conectarme con la base de datos remota.

 module.exports = { user : process.env.NODE_ORACLEDB_USER || "hr", password : process.env.NODE_ORACLEDB_PASSWORD || "welcome", connectString : process.env.LOCAL || "myipaddress:1521/servicename", };
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda