Iandev Smarter Business - Logo Cor
Navegação no fórum
para criar postagens e tópicos.

Teste de conexões com banco de dados

Script para testar a conexão com o banco de dados.

1º. Lista as conexões;
# Lista os dados de conexão com os bancos da frente de caixa
sql
Select
(Case
when lower(er.driveconexao) like ('%postgres%') then 'org.postgresql.Driver'
when lower(er.driveconexao) like ('%mysql%') then 'com.mysql.jdbc.Driver'
when lower(er.driveconexao) like ('%oracle%') then 'oracle.jdbc.driver.OracleDriver'
when lower(er.driveconexao) like ('%firebird%') then 'org.firebirdsql.jdbc'
when lower(er.driveconexao) like ('%db2%') then 'com.ibm.db2.jcc.DB2Driver'
when lower(er.driveconexao) like ('%sqlserver%') then 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
else ''
end) "driver"
,er.driveconexao||'://'||er.enderecoip||':'||er.porta||'/'||er.nomesistemaconexao "url"
,er.usuarioconexao "user"
,senhaconexao "password"
,er.descricao "description"
,'' "result"
From
enderecorede er
Where
idtipoequipamento in (Select idtipoequipamento from tipoequipamento where upper(descricao) like ('%SERVIDOR MONITOR FRENTE DE CAIXA%'))
and situacao = 'A'
and er.idempresa in ($v{empresas})
sql_var(sql_conexao);

2º. Testa as conexões e cria um novo datalist com o status da conexão:
run_script_java_groovy script-testa-conexao;

import java.sql.Connection;
import java.sql.Types;

import com.elisha.commons.util.ThrowableUtil;
import com.elisha.commons.util.datalist.DataList;
import com.elisha.commons.util.datalist.DataListRow;
import bdo.dao.ConnectionManager;
import bdo.util.DataListUtil;

String result = 'false';

String sqlName = 'sql_valor';
String sql = execScript.getValueVar(sqlName);

DataList connections = execScript.getDataList('sql_conexao');

DataList dataList = DataListUtil.createDataList([ "url", "status", "cor" ] as String[], [ Types.VARCHAR, Types.VARCHAR, Types.VARCHAR ] as int[]);

for (int i = 0; i < connections.getNumRows(); i++) {
try {
Connection connection = ConnectionManager.getConnection(connections.getString(i, 'url'), connections.getString(i, 'user'), connections.getString(i, 'password'), connections.getString(i, 'driver'));
dataList.addRow(new DataListRow([ connections.getString(i, 'url'), 'SUCESSO', '#71da71' ] as Object[]));
} catch(Exception ex) {
dataList.addRow(new DataListRow([ connections.getString(i, 'url'), 'SEM CONEXÃO', '#ff5c33' ] as Object[]));
}
}

execScript.addDataList(dataList, "dlStatusConexoes");
return true;