Database

Como configurar parâmetros de conexões a bancos de dados?

RT.DB.FAQ-10772
São permitidas conexões com vários bancos de dados simultaneamente.
Cada conexão é identificada com um nome e possui um gerenciador de conexões independente.
As configurações das conexões são realizadas na Configurações do servidor através da sub-árvore de configurações CONFIG.DB, no formato:
CONFIG.DB.[nome].[parametro]

Por padrão, as aplicações possuem pelo menos uma conexão como o nome DEFAULT, ou seja, os parâmetros de conexão com o banco principal, serão algo como:
CONFIG.DB.DEFAULT.URL=jdbc:postgresql://localhost/eligo
CONFIG.DB.DEFAULT.USER=postgres
CONFIG.DB.DEFAULT.PASSWORD=secret
CONFIG.DB.DEFAULT.DRIVER=org.postgresql.Driver

Para outras conexões, deve-se criar outro conjunto de parâmetros utilizando um nome diferente de DEFAULT. Exemplo:
CONFIG.DB.LEGADO.DRIVER=org.firebirdsql.jdbc.FBDriver
CONFIG.DB.LEGADO.URL=jdbc:firebirdsql://localhost:3050/C:/temp/legado/DADOSADM.GDB
CONFIG.DB.LEGADO.USER=sysdba
CONFIG.DB.LEGADO.PASSWORD=masterkey
CONFIG.DB.LEGADO.CHARSET=ISO8859_1
CONFIG.DB.LEGADO.ENCODING=ISO8859_1
CONFIG.DB.LEGADO.VALIDATION_QUERY=SELECT CAST(1 AS INTEGER) FROM rdb$database;

Os parâmetros reconhecidos (após o nome) são:

ALIAS

Indica que esta conexão é um alias para uma outra conexão. Por exemplo: Caso deseje usar o LOG na conexão default, basta incluir CONFIG.DB.LOG.ALIAS=DEFAULT

DRIVER

Classe do driver JDBC a ser utilizada para conexão.

URL

URL de conexão (conforme documentação do driver).

USER

Nome do usuário com o qual a conexão de banco é estabelecida.

PASSWORD

Senha do usuário com o qual a conexão de banco é estabelecida.

MAX_CONNECTIONS

Número máximo de conexões aceitos no pool. Caso não informado, assume 40 conexões simultâneas (por data source). Note que por padrão, o PostgreSQL permite apenas 100 conexões simultâneas. Por isso, em servidores que possuem muitas instâncias, este valor deverá ser menor para evitar o colapso de conexões ativas por parte do banco.

VALIDATION_QUERY

Query a ser utilizada para verificar se a conexão está saudável.

MAX_WAIT

Tempo limite que o pool de conexões aguarda até que uma conexão seja liberada (quando não existe mais nenhuma disponível).

SEQUENCE_MANAGER

Classe a ser utilizada como gerenciador de sequencias. Caso não informado, será utilizado um gerenciador padrão conforme o driver do banco de dados.

MIN_IDLE

Número mínimo de conexões que poderão permanecer ativas.

MAX_IDLE

Número máximo de conexões que poderão permanecer livres no pool.

TIME_BETWEEN_EVICTION_RUNS_MILLIS

Tempo de intervalo (em milisegundos) entre uma verificação de descarte de conexões e outra.

MIN_EVICTION_IDLE_TIME_MILLIS

Tempo mínimo que uma conexão deve permanecer disponível antes de ser descartada.

TRACE_CONNECTIONS

Indica se deve ou não rastrear com quem estão as conexões. O padrão é "S". Neste caso, sempre que uma sessão pegar uma conexão, o ambiente irá registrar a identificação da sessão nesta conexão e registrar o processo de conexão do banco na sessão.


Ver também: