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.PROPERTIES=lc_ctype=ISO8859_1;encoding=ISO8859_1;charSet=ISO8859_1;
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.

PROPERTIES

Outras propriedades de conexão. Especialmente úteis para bancos externos que exigem propriedades fora do padrão convencional.
As propriedades devem ser informadas no formado [chave=valor;]*
Exemplo:
CONFIG.DB.FB.PROPERTIES=lc_ctype=ISO8859_1;encoding=ISO8859_1;charSet=ISO8859_1;

CHARSET

É o mesmo que setar a propriedade "charset" no PROPERTIES.

ENCODING

É o mesmo que setar a propriedade "encoding" no PROPERTIES.

Ver também