O arquivo JDBC_Drivers.xml é um arquivo com estrutura XML que contém as definições das possíveis conexões com bancos de dados que podem ser feitas pelo WebIntegrator. O principal objetivo desse arquivo é poder adicionar novos tipos de bancos de dados ao WebIntegrator extendo e adaptando o produto às necessidades do usuário.
Para adicionar uma entrada de um novo driver JDBC a esse arquivo basta editá-lo informando o nome completo da classe do driver que implementa a interface Driver da API JDBC, a string de conexão usada por esse driver, uma descrição para ser exibida na definição de banco de dados no WI Builder, um identificador único para essa configuração que será usado internamente pelo WI Engine e opcionalmente uma query de validação a ser usada para validar se uma conexão do pool ainda corresponde com uma conexão ativa no banco de dados.
As informações sobre a classe do driver (CLASS) e da URL de string de conexão (URL) são dependentes do driver JDBC que se estiver configurando e deverão estar disponíveis na documentação do driver, a query de validação (VALIDATIONQUERY) quando configurada deverá retornar como resultado no mínimo uma linha válida, as outras duas informações são de escolha própria do usuário.
Como exemplo suponha que se queira possibilitar que o WebIntegrator acesse bases de dados em HSQL. Primeiramente deve-se fazer o download do respectivo driver JDBC a partir do site oficial do fabricante e instalá-lo num local adequado, por "local adequado" entenda como sendo um diretório que faça parte do CLASSPATH da JVM e que também esteja acessível às classes do pacote do WebIntegrator. Em ambientes com instalações baseadas no Tomcat recomendamos que a instalação dos drivers JDBC seja feita em <TOMCAT_HOME>/common/lib.
A documentação do HSQL 1.7.1b informa que o nome completo da classe que implementa a interface Driver da API JDBC é org.hsqldb.jdbcDriver e a string de conexão deve ser jdbc:hsqldb:hsql://<servidor>:<porta>. Com essas informações já se pode criar a entrada no arquivo drivers.def que pode ser semelhante com a que segue abaixo.
...
<JDBC ID="hsqldb">
<DESCRIPTION>HSQLDB</DESCRIPTION>
<CLASS>org.hsqldb.jdbcDriver</CLASS>
<URL>jdbc:hsqldb:hsql:|alias|</URL>
<VALIDATIONQUERY>SELECT 1</VALIDATIONQUERY>/
</JDBC>
...
Perceba que a definição da string de conexão feita na tag URL faz referência a uma variável chamada alias. Essa variável será substituída pelo que o usuário definir no campo Alias na definição de banco de dados completando assim a string de conexão a ser usada pelo driver JDBC para se conectar com o banco de dados.
Algumas implementações de drivers JDBC recomendam que os mesmos sejam inicializados ou registrados anteriormente, para casos como esses a tag CLASS aceita que seja passado ou o atributo NEWINSTANCE ou o atributo REGISTERDRIVE. Para drivers JDBC que recomendem o uso do método newInstance() basta adicionar o atributo NEWINSTANCE com o valor ON, para drivers JDBC que recomendem o registro prévio através do método registerDrive() basta adicionar o atributo REGISTERDRIVER com o valor ON.