sc_connection_edit , so funciona na segunda tentativa de login

$slogin = sc_sql_injection({login});
$spswd = sc_sql_injection(({pswd}));
$sdominio = sc_sql_injection(({Dominio}));

$sqlDB = “SELECT
cliid,
clisigla,
clidb
FROM clientes
WHERE clisigla = $sdominio”;

/*

  • Esta macro executa o comando SELECT informado no segundo parâmetro e retorna os dados em uma variável. */

sc_lookup(Dataset, $sqlDB, “conn_postgres_1”);

if(count({Dataset}) == 0)
{

sc_error_message("Dada base não cadastrada");
sc_error_exit();

}
else if({Dataset[0][1]} == {Dominio})
{

$arr_conn['database'] = {Dataset[0][2]};

// por no servidor descomentar esta linha
//$arr_conn[‘user’] = {Dataset[0][2]};
sc_connection_edit(“conn_postgres”, $arr_conn);

//  Grava Sigla do dominio variavel Global

[dominio] = {Dataset[0][1]};
//sc_set_theme(‘Sc8_Ceropegia’);

}

else
{
sc_error_message(“Não foi possivel selecionar DB”);
sc_error_exit();
}

// Procura usuario na tabela

// INICIO DE LOGIN

$sql = "SELECT
priv_admin,
active,
“name”,
email
FROM sec_users
WHERE login = $slogin AND pswd = ".$spswd;

sc_lookup(rs, $sql );
sc_lookup(rs, $sql );

sc_lookup(rs, $sql );
/**
  • Selecting a field from another table
    */

if (isset({rs[0][0]})) // Row found
{
{other_field} = {rs[0][0]};
{other_region} = {rs[0][1]};
}
else // No row found
{
{other_field} = ‘’;
{other_region} = ‘’;
}

if(count({rs}) == 0 )
{
sc_log_add(‘login Fail’, {lang_login_fail} . {login});
;
sc_error_message({lang_error_login});
}
else if({rs[0][1]} == ‘Y’)
{
[usr_login] = {login};
[usr_priv_admin] = {rs[0][0]};
[usr_name] = {rs[0][2]};
[usr_email] = {rs[0][3]};
}
else
{
sc_error_message({lang_error_not_active});
sc_error_exit();
}

//        FIM DE LOGIN

As aplicações posteriores ao login que sofreram a mudança e não a aplicação atual ( que está sendo usada a macro ).