Bom dia
Criamos um serviço no painel de controle do fluig para acesso via jdbc ao banco de dados do RM, teste de conexão e dataset simples funcionaram perfeitamente.
É possível criar um dataset avançado com uma consulta SQL? Da mesma forma quando criamos a string de conexão no arquivo domain.xml?
/* ESTE EXEMPLO FUNCIONAVA EM OUTRO CLIENTE VIA CONEXÃO NO DOMAIN.XML */
function createDataset(fields, constraints, sortFields) {
var newDataset = DatasetBuilder.newDataset();
var dataSource = "/jdbc/FluigRM";
var ic = new javax.naming.InitialContext();
var ds = ic.lookup(dataSource);
var created = false;
log.info("QUERY dsSQLRmFlan constraints: " + constraints);
var myQuery = "SELECT TOP 100 * FROM FLAN" ;
log.info("QUERY _RM_FLAN: " + myQuery);
try {
var conn = ds.getConnection();
var stmt = conn.createStatement();
var rs = stmt.executeQuery(myQuery);
var columnCount = rs.getMetaData().getColumnCount();
while (rs.next()) {
if (!created) {
for (var i = 1; i <= columnCount; i++) {
newDataset.addColumn(rs.getMetaData().getColumnName(i));
}
created = true;
}
var Arr = new Array();
for (var i = 1; i <= columnCount; i++) {
var obj = rs.getObject(rs.getMetaData().getColumnName(i));
if (null != obj) {
Arr[i - 1] = rs.getObject(rs.getMetaData().getColumnName(i)).toString();
} else {
Arr[i - 1] = "null";
}
}
newDataset.addRow(Arr);
}
} catch (e) {
log.error("ERRO==============> " + e.message);
} finally {
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
return newDataset;
}