Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Para que seja possível criar um dataset que acesse uma base externa ao fluig, é necessário, primeiramente, configurar o arquivo standalonedomain.xml. Este arquivo se encontra dentro da pasta de instalação do fluig. Por exemplo: partindo do principio que a instalação foi feita em ambiente Windows no diretório C, o arquivo será encontrado em C:\fluig\jbossappserver\standalonedomain\configuration\standalonedomain.xml.

Edite o arquivo e procure pela linha que contém a tag <datasources>. Esta tag é responsável pelo agrupamento das conexões criadas na aplicação.

A seguir é apresentado um exemplo da tag no arquivo standalonedomain.xml:

Bloco de código
languagexml
titleTag datasource
linenumberstrue
<subsystem xmlns="urn:jboss:domain:datasources:14.20">
	<datasources>

Dentro desta tag terá uma outra tag chamada <datasource>, reponsável pelas configurações de uma conexão com um banco de dados.

...

Nota
titleObservação

Nunca remova ou altere as conexões( <datasource>) que já estão contidas no arquivo de configuração standalonedomain.xml. Estas conexões são vitais para o funcionamento do fluig. Somente as novas conexões criadas com a finalidade de acesso aos datasets podem ser manipuladas.

...

Aviso
titleImportante!

Para garantir a integridade da base de dados que será acessada, é importante garantir que o usuário  configurado para acesso ao banco seja criado com privilégios somente de leitura, garantindo assim que nenhum registro possa ser alterado.

Após criado o datasource, salve o arquivo standalonedomain.xml, e reinicie o serviço do fluig para que o servidor de aplicação (JbossWildfly) consiga mapear a nova conexão criada.

...

O exemplo abaixo apresenta o acesso ao datasource MeuDataSet criado como exemplo no arquivo standalonedomain.xml.

Bloco de código
languagejs
linenumberstrue
function createDataset(fields, constraints, sortFields) {
	var newDataset = DatasetBuilder.newDataset();
	log.info("QUERY: " + myQuery);
	var dataSource = "/jdbc/MeuDataSet";
	var ic = new javax.naming.InitialContext();
	var ds = ic.lookup(dataSource);
	var created = false;
	var myQuery = "select * from pessoas";
	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;
}

...