Versão atual:

jdbc dataset RM

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;
}

Versão (1):

Ver a versão formatada

jdbc dataset RM

Comentário

new question