Я пытаюсь получить доступ к своим метаданным, чтобы перечислить таблицы в моей базе данных ignite, используя эти два подхода, но все, что я могу получить, - это имя моей схемы и ничего из метода getmetadata
, и для этого я используя следующий код:
var JDBC = require('jdbc');
var metadata = require('jdbc-metadata');
var async = require("async");
var jinst = require('jdbc/lib/jinst');
var ResultSet = require('jdbc/lib/resultset');
var databasemetadata = require('jdbc/lib/databasemetadata');
if (!jinst.isJvmCreated()) {
jinst.addOption("-Xrs");
jinst.setupClasspath([appRoot2 + '/ignite-core-2.4.0.jar']);
}
var config = {
// Ignite configuration to your server
url: 'jdbc:ignite:thin://host:port',
drivername: 'org.apache.ignite.IgniteJdbcThinDriver',
minpoolsize: 1,
maxpoolsize: 100,
properties: {}
};
var igniteConn = new JDBC(config);
igniteConn.initialize(function(err) {
if (err) {
done(err);
return console.error('Connection Error: ' + err);
saveToLog(req, 'Error on connection: ' + err, 300, 'JO-002', '');
} else {
console.log("connection established");
}
});
igniteConn.reserve(function(err, connObj) {
if (connObj) {
console.log("Using connection: " + connObj.uuid);
var conn = connObj.conn;
async.series([
function(callback) {
conn.getSchema(function(err, res) {
if (err) {
callback(err);
} else {
console.log(res);
callback(res);
}
});
},
function(callback) {
conn.getMetadata(function(err, res) {
if (err) {
callback(err);
} else {
console.log("///////");
console.log(res);
callback(res);
}
});
}
], function(err, results) {
// Check for errors if need be.
// results is an array.
});
Второй подход с использованием driverManager
:
var drivermanager = require('jdbc/lib/drivermanager');
drivermanager.getConnection(config.url, null, null, function(err, conn) {
if (err) throw err;
testconn = new Connection(conn);
if (testconn) {
async.series([
function(callback) {
testconn.getMetaData(function(err, result) {
if (err) callback(err);
console.log(result);
/*
else {
result.getTables(null,null,null,null,function(err,res){
if(err) callback(err);
else {
console.log(res);
}
});
}*/
//resultSet = result.getTables(null, null, null,"TABLE");
});
},
], function(err, results) {
// Results can also be processed here.
// Release the connection back to the pool.
});
}
});
Я могу обычно выполнять запросы к моим таблицам для получения информации. Если у кого-то есть какие-либо предложения, как я могу получить свои метаданные или если вы знаете запрос, который я могу запустить, чтобы получить его, если есть какие-либо другие альтернативы (например, SELECT information.tabels ... но это не работает на ignite), которые бы быть очень ценным.