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