Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

297
Visualizações
Node.js y jdbc: TypeError: no se puede leer la propiedad 'url' de undefined

Soy nuevo en nodejs y JavaScript. Estoy probando un ejemplo muy básico de conexión de MySQL a nodejs. Estoy usando un paquete npm jdbc para este propósito. A continuación se muestra el fragmento de código que estoy usando para la conexión y obtengo la siguiente excepción. Puedes por favor ayudarme en esto.

Código:

 var express = require('express'); var app = express(); var server = require('http').Server(app); var https =require('http'); var io = require('socket.io')(server); var kafka = require('kafka-node'); var cassandra = require('cassandra-driver'); var jdbc = new (require('jdbc')); var jinst = require('jdbc/lib/jinst'); var Pool = require('jdbc/lib/pool'); var _ = require('underscore'); // var cors = require("cors"); app.use(express.static(__dirname + '/view')); server.listen(3000); app.use('/bower_components', express.static(__dirname + '/bower_components')); app.get('/', function (req, res, next) { res.sendFile(__dirname + '/index.html');}); if (!jinst.isJvmCreated()) { jinst.addOption("-Xrs"); jinst.setupClasspath(['../mysql-connector-java-5.1.39-bin.jar']); } var config = { url: 'jdbc:mysql://localhost:3306/DB', user : 'root', password: 'root', minpoolsize: 2, maxpoolsize: 3, drivername: 'com.mysql.jdbc.Driver' }; //Initialize jdbc object jdbc.initialize(config, function(err, res){ if (err){ console.log(err); } }); jdbc.open(function(err, conn) { if (conn) { //Run first query jdbc.executeQuery('show databases', function(err, results){ if (err){ console.log(err); } else if (results) { console.log(results); } }); }else{ console.log('Connection object:' + conn); console.log(err); } }); jdbc.close(function(err){ if(err) { console.log(err); } else { console.log('Connection closed successfully!');} });

Excepción:

 Field_Test\node_modules\jdbc\lib\pool.js:64 this._url = config.url; ^ TypeError: Cannot read property 'url' of undefined at JDBC.Pool (<Dir>\node_modules\jdbc\lib\pool.js:64:21) at new JDBC (<Dir>\node_modules\jdbc\lib\jdbc.js:6:8) at Object.<anonymous> (Web\app.js:10:12) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:394:7)
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Su problema es con el requerimiento en la parte superior, según los documentos https://www.npmjs.com/package/jdbc , cuando crea una nueva instancia, necesita pasar los parámetros de configuración, puede hacerlo de dos maneras

 var config = {url: 'jdbc:mysql://localhost:3306/DB'} var jdbc = new (require('jdbc'))(config);

o puedes hacerlo en línea en el código

 var Jdbc = require('jdbc'); ... var config = {url: 'jdbc:mysql://localhost:3306/DB'} var jdbc = new Jdbc(config)

En el contexto de tu código.

 var express = require('express'); var app = express(); var server = require('http').Server(app); var https =require('http'); var io = require('socket.io')(server); var kafka = require('kafka-node'); var cassandra = require('cassandra-driver'); var Jdbc = require('jdbc'); var jinst = require('jdbc/lib/jinst'); var Pool = require('jdbc/lib/pool'); var _ = require('underscore'); // var cors = require("cors"); app.use(express.static(__dirname + '/view')); server.listen(3000); app.use('/bower_components', express.static(__dirname + '/bower_components')); app.get('/', function (req, res, next) { res.sendFile(__dirname + '/index.html');}); if (!jinst.isJvmCreated()) { jinst.addOption("-Xrs"); jinst.setupClasspath(['../mysql-connector-java-5.1.39-bin.jar']); } var config = { url: 'jdbc:mysql://localhost:3306/DB', user : 'root', password: 'root', minpoolsize: 2, maxpoolsize: 3, drivername: 'com.mysql.jdbc.Driver' }; var jdbc = new JDBC(config); //Initialize jdbc object jdbc.initialize(config, function(err, res){ if (err){ console.log(err); } }); jdbc.open(function(err, conn) { if (conn) { //Run first query jdbc.executeQuery('show databases', function(err, results){ if (err){ console.log(err); } else if (results) { console.log(results); } }); }else{ console.log('Connection object:' + conn); console.log(err); } }); jdbc.close(function(err){ if(err) { console.log(err); } else { console.log('Connection closed successfully!');} });
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda